From a5987addd466ff0d50de29401dc303f2284d4b6c Mon Sep 17 00:00:00 2001 From: whatdoineed2do Date: Wed, 21 Aug 2019 21:54:34 +0100 Subject: [PATCH] [db,jsonapi] case insensitive directory/file listing (#784) * [db,jsonapi] case insensitive directory/file listing * [jsonapi] file listing of playlist uses same VPATH ordering as per directory and files * [db,jsonapi] sorting via existing S_VPATH * [db] replace LOWER with COLLATE NOCASE --- src/db.c | 4 ++-- src/httpd_jsonapi.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/db.c b/src/db.c index 42aad187..b2e0c65c 100644 --- a/src/db.c +++ b/src/db.c @@ -418,7 +418,7 @@ static const char *sort_clause[] = "f.composer_sort", "f.disc", "f.track", - "f.virtual_path", + "f.virtual_path COLLATE NOCASE", "pos", "shuffle_pos", }; @@ -3890,7 +3890,7 @@ db_directory_id_bypath(const char *path) int db_directory_enum_start(struct directory_enum *de) { -#define Q_TMPL "SELECT * FROM directories WHERE disabled = 0 AND parent_id = %d ORDER BY virtual_path;" +#define Q_TMPL "SELECT * FROM directories WHERE disabled = 0 AND parent_id = %d ORDER BY virtual_path COLLATE NOCASE;" sqlite3_stmt *stmt; char *query; int ret; diff --git a/src/httpd_jsonapi.c b/src/httpd_jsonapi.c index e3052e97..17b2c016 100644 --- a/src/httpd_jsonapi.c +++ b/src/httpd_jsonapi.c @@ -3191,7 +3191,7 @@ jsonapi_reply_library_files(struct httpd_request *hreq) goto error; query_params.type = Q_PL; - query_params.sort = S_PLAYLIST; + query_params.sort = S_VPATH; query_params.filter = db_mprintf("(f.directory_id = %d)", directory_id); ret = fetch_playlists(&query_params, playlists_items, &total);