[db] Add column "chapters" to files table (db schema 22.03)

This commit is contained in:
ejurgensen 2025-08-11 20:36:56 +02:00
parent b612e12aca
commit 2225eb9e0a
5 changed files with 32 additions and 2 deletions

View File

@ -232,6 +232,7 @@ static const struct col_type_map mfi_cols_map[] =
{ "usermark", mfi_offsetof(usermark), DB_TYPE_INT },
{ "scan_kind", mfi_offsetof(scan_kind), DB_TYPE_INT },
{ "lyrics", mfi_offsetof(lyrics), DB_TYPE_STRING },
{ "chapters", mfi_offsetof(chapters), DB_TYPE_STRING },
};
/* This list must be kept in sync with
@ -374,6 +375,7 @@ static const ssize_t dbmfi_cols_map[] =
dbmfi_offsetof(usermark),
dbmfi_offsetof(scan_kind),
dbmfi_offsetof(lyrics),
dbmfi_offsetof(chapters),
};
/* This list must be kept in sync with

View File

@ -250,6 +250,7 @@ struct media_file_info {
uint32_t scan_kind; /* Identifies the library_source that created/updates this item */
char *lyrics;
char *chapters;
};
#define mfi_offsetof(field) offsetof(struct media_file_info, field)
@ -425,6 +426,7 @@ struct db_media_file_info {
char *usermark;
char *scan_kind;
char *lyrics;
char *chapters;
};
#define dbmfi_offsetof(field) offsetof(struct db_media_file_info, field)

View File

@ -99,7 +99,8 @@
" channels INTEGER DEFAULT 0," \
" usermark INTEGER DEFAULT 0," \
" scan_kind INTEGER DEFAULT 0," \
" lyrics TEXT DEFAULT NULL COLLATE DAAP" \
" lyrics TEXT DEFAULT NULL COLLATE DAAP," \
" chapters TEXT DEFAULT NULL" \
");"
#define T_PL \

View File

@ -26,7 +26,7 @@
* is a major upgrade. In other words minor version upgrades permit downgrading
* the server after the database was upgraded. */
#define SCHEMA_VERSION_MAJOR 22
#define SCHEMA_VERSION_MINOR 2
#define SCHEMA_VERSION_MINOR 3
int
db_init_indices(sqlite3 *hdl);

View File

@ -1264,6 +1264,24 @@ static const struct db_upgrade_query db_upgrade_v2202_queries[] =
{ U_v2202_SCVER_MINOR, "set schema_version_minor to 02" },
};
/* ---------------------------- 22.02 -> 22.03 ------------------------------ */
#define U_v2203_ALTER_FILES_ADD_CHAPTERS \
"ALTER TABLE files ADD COLUMN chapters TEXT DEFAULT NULL;"
#define U_v2203_SCVER_MAJOR \
"UPDATE admin SET value = '22' WHERE key = 'schema_version_major';"
#define U_v2203_SCVER_MINOR \
"UPDATE admin SET value = '03' WHERE key = 'schema_version_minor';"
static const struct db_upgrade_query db_upgrade_v2203_queries[] =
{
{ U_v2203_ALTER_FILES_ADD_CHAPTERS, "alter table files add column chapters" },
{ U_v2203_SCVER_MAJOR, "set schema_version_major to 22" },
{ U_v2203_SCVER_MINOR, "set schema_version_minor to 03" },
};
/* -------------------------- Main upgrade handler -------------------------- */
@ -1489,6 +1507,13 @@ db_upgrade(sqlite3 *hdl, int db_ver)
if (ret < 0)
return -1;
/* FALLTHROUGH */
case 2202:
ret = db_generic_upgrade(hdl, db_upgrade_v2203_queries, ARRAY_SIZE(db_upgrade_v2203_queries));
if (ret < 0)
return -1;
/* Last case statement is the only one that ends with a break statement! */
break;