Skip to content
Extraits de code Groupes Projets

Queue and playlist interactions with lkt

Fusionnées Kubat a demandé de fusionner dev-kubat vers master
Fichiers
3
+ 12
12
@@ -46,10 +46,10 @@ database_search_playlist_init(volatile sqlite3 *db, struct lkt_search *ret)
static const char *SQL_TEMPLATE =
"WITH content AS ("
" SELECT kara.id AS id, string, LENGTH(CAST(kara.id AS TEXT)) AS len"
" FROM playlist"
" JOIN kara_playlist ON playlist.id = playlist_id"
" AND playlist.name = ?"
" JOIN kara ON kara.id = kara_playlist.kara_id"
" FROM kara_playlist"
" JOIN playlist ON playlist.id = playlist_id"
" AND playlist.name COLLATE nocase = ?"
" JOIN kara ON kara.id = kara_id"
" AND %s LIKE ?)"
"SELECT id, string, (SELECT MAX(len) FROM content)"
"FROM content LIMIT %d OFFSET %d;";
@@ -163,19 +163,19 @@ database_search_iter(struct lkt_search *item)
switch (item->type) {
case lkt_search_database:
case lkt_search_queue:
id = sqlite3_column_int(item->stmt, 0);
sql_row = (const char *) sqlite3_column_text(item->stmt, 1);
id_len = sqlite3_column_int(item->stmt, 2);
case lkt_search_playlist:
id = sqlite3_column_int (item->stmt, 0);
sql_row = sqlite3_column_chars(item->stmt, 1);
id_len = sqlite3_column_int (item->stmt, 2);
return ((lkt_search_database_func) item->call)
(item->srv, item->c, id, id_len, sql_row);
case lkt_search_sticker:
sql_row = (const char *) sqlite3_column_text(item->stmt, 0); /* Name */
id = sqlite3_column_int(item->stmt, 1); /* Id */
code = sqlite3_column_int(item->stmt, 2); /* Val */
type = (const char *) sqlite3_column_text(item->stmt, 3); /* Type */
sql_row = sqlite3_column_chars(item->stmt, 0); /* Name */
id = sqlite3_column_int (item->stmt, 1); /* Id */
code = sqlite3_column_int (item->stmt, 2); /* Val */
type = sqlite3_column_chars(item->stmt, 3); /* Type */
return ((lkt_search_sticker_func) item->call)
(item->srv, item->c, sql_row, type, id, code);
case lkt_search_playlist:
default:
LOG_WARN("DB", "Search type %d is not implemented", item->type);
goto end;
Chargement en cours