Skip to content
Extraits de code Groupes Projets

Resolve "FEATURE: Use time stamp from kurisu in update process"

Fusionnées Kubat a demandé de fusionner 109-feature-use-time-stamp-from-kurisu-in-update-process vers master
1 file
+ 28
24
Comparer les modifications
  • Côte à côte
  • En ligne
+ 28
24
@@ -15,27 +15,30 @@ struct sql_table_description {
const LKT_DATABASE_VERSION minimal_version;
};
#define DCL_SQL_FIELD(field_name, version) \
((struct sql_field_description){ .name = field_name, \
.minimal_version = (LKT_DATABASE_VERSION_##version) })
#define DCL_SQL_FIELD_NULL ((struct sql_field_description){ .name = NULL, .minimal_version = 0 })
#define DCL_SQL_TABLE(tbl_name, ...) \
((struct sql_table_description){ \
.name = #tbl_name, \
.fields = { __VA_ARGS__, DCL_SQL_FIELD_NULL }, \
.minimal_version = LKT_DATABASE_VERSION_ALPHA, \
})
#define DCL_SQL_TABLE_VERSION(tbl_name, version, ...) \
((struct sql_table_description){ \
.name = #tbl_name, \
.fields = { __VA_ARGS__, DCL_SQL_FIELD_NULL }, \
.minimal_version = LKT_DATABASE_VERSION_##version, \
})
static struct sql_table_description sql_tables_list[] = {
#define LKT_DATABASE_VERSION_ALPHA LKT_DATABASE_VERSION_ALPHA
#define LKT_DATABASE_VERSION_MK_7_1 LKT_DATABASE_VERSION_MK_7_1
#define LKT_DATABASE_VERSION_MK_7_3 LKT_DATABASE_VERSION_MK_7_3
#define DCL_SQL_FIELD(field_name, version) \
((const struct sql_field_description){ .name = field_name, \
.minimal_version = (LKT_DATABASE_VERSION_##version) })
#define DCL_SQL_FIELD_NULL \
((const struct sql_field_description){ .name = NULL, .minimal_version = 0 })
#define DCL_SQL_TABLE(tbl_name, ...) \
{ \
.name = #tbl_name, .fields = { __VA_ARGS__, DCL_SQL_FIELD_NULL }, \
.minimal_version = LKT_DATABASE_VERSION_ALPHA, \
}
#define DCL_SQL_TABLE_VERSION(tbl_name, version, ...) \
{ \
.name = #tbl_name, .fields = { __VA_ARGS__, DCL_SQL_FIELD_NULL }, \
.minimal_version = LKT_DATABASE_VERSION_##version, \
}
static const struct sql_table_description sql_tables_list[] = {
DCL_SQL_TABLE(kara, //
DCL_SQL_FIELD("id", ALPHA), //
DCL_SQL_FIELD("song_name", ALPHA), //
@@ -116,8 +119,8 @@ CONSTRUCTOR_FUNCTION
___verify_table_descriptions(void)
{
for (size_t i = 0; i < sql_tables_list_count; ++i) {
struct sql_table_description *table = &sql_tables_list[i];
size_t j = LKT_TABLE_FIELDS_MAX - 1;
const struct sql_table_description *table = &sql_tables_list[i];
size_t j = LKT_TABLE_FIELDS_MAX - 1;
while (j) {
if (table->fields[j].name == NULL)
break;
@@ -280,9 +283,10 @@ database_get_version_name(LKT_DATABASE_VERSION version)
#include <lektor/internal/dbversion.def>
case ___LKT_DATABASE_VERSION_COUNT:
LOG_ERROR("DB", "Unknown database version %d", version);
return "UNKNOWN";
break;
}
#undef database_version
return "UNKNOWN";
}
LKT_DATABASE_VERSION
Chargement en cours