mirror of
https://github.com/owntone/owntone-server.git
synced 2025-01-30 07:56:02 -05:00
Recompute all songalbumids at startup
Due to the two Murmur64 implementations for 64 and 32bit machines, the hash is not compatible when moving the SQLite DB between 32/64 bit hosts. So we'll recompute all the songalbumids at startup, just in case.
This commit is contained in:
parent
0e9a8674d9
commit
88dde32fc7
19
src/db.c
19
src/db.c
@ -1118,6 +1118,25 @@ db_files_get_count(void)
|
|||||||
return db_get_count("SELECT COUNT(*) FROM files WHERE disabled = 0;");
|
return db_get_count("SELECT COUNT(*) FROM files WHERE disabled = 0;");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
db_files_update_songalbumid(void)
|
||||||
|
{
|
||||||
|
#define Q_SONGALBUMID "UPDATE files SET songalbumid = daap_songalbumid(album_artist, album);"
|
||||||
|
char *errmsg;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
DPRINTF(E_DBG, L_DB, "Running query '%s'\n", Q_SONGALBUMID);
|
||||||
|
|
||||||
|
errmsg = NULL;
|
||||||
|
ret = sqlite3_exec(hdl, Q_SONGALBUMID, NULL, NULL, &errmsg);
|
||||||
|
if (ret != SQLITE_OK)
|
||||||
|
DPRINTF(E_LOG, L_DB, "Error updating songalbumid: %s\n", errmsg);
|
||||||
|
|
||||||
|
sqlite3_free(errmsg);
|
||||||
|
|
||||||
|
#undef Q_SONGALBUMID
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
db_file_inc_playcount(int id)
|
db_file_inc_playcount(int id)
|
||||||
{
|
{
|
||||||
|
3
src/db.h
3
src/db.h
@ -289,6 +289,9 @@ db_query_fetch_string(struct query_params *qp, char **string);
|
|||||||
int
|
int
|
||||||
db_files_get_count(void);
|
db_files_get_count(void);
|
||||||
|
|
||||||
|
void
|
||||||
|
db_files_update_songalbumid(void);
|
||||||
|
|
||||||
void
|
void
|
||||||
db_file_inc_playcount(int id);
|
db_file_inc_playcount(int id);
|
||||||
|
|
||||||
|
@ -697,6 +697,11 @@ filescanner(void *arg)
|
|||||||
pthread_exit(NULL);
|
pthread_exit(NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Recompute all songalbumids, in case the SQLite DB got transferred
|
||||||
|
* to a different host; the hash is not portable.
|
||||||
|
*/
|
||||||
|
db_files_update_songalbumid();
|
||||||
|
|
||||||
bulk_scan();
|
bulk_scan();
|
||||||
|
|
||||||
if (!scan_exit)
|
if (!scan_exit)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user