Fix query to get un-scanned folder list 93/136493/6 submit/tizen/20170704.021418 submit/tizen/20170705.022437
authorMinje Ahn <minje.ahn@samsung.com>
Fri, 30 Jun 2017 03:44:16 +0000 (12:44 +0900)
committerhj kim <backto.kim@samsung.com>
Mon, 3 Jul 2017 23:37:16 +0000 (23:37 +0000)
Change-Id: I92ceadb411cd72613c12c72138cdbfae61bc3bc9
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
src/common/media-svc-media-folder.c

index 3cb6c1a..d1f8f4b 100755 (executable)
@@ -585,8 +585,8 @@ int _media_svc_get_null_scan_folder_list(sqlite3 *handle, const char *storage_id
                        return ret;
                }
        } else {
-               sql = sqlite3_mprintf("SELECT count(*) FROM '%s' WHERE path LIKE '%q/%%' AND name IN (select REPLACE(path,'%q/','') from '%s' WHERE path LIKE '%q/%%'); ",
-                       MEDIA_SVC_DB_TABLE_FOLDER, path, path, MEDIA_SVC_DB_TABLE_FOLDER, path);
+               sql = sqlite3_mprintf("SELECT count(*) FROM '%s' WHERE path IN (SELECT DISTINCT '%q/'||name from '%s' WHERE path LIKE '%q/%%')",
+                       MEDIA_SVC_DB_TABLE_FOLDER, path, MEDIA_SVC_DB_TABLE_FOLDER, path);
                ret = _media_svc_sql_prepare_to_step(handle, sql, &sql_stmt);
 
                if (ret != MS_MEDIA_ERR_NONE) {
@@ -597,8 +597,8 @@ int _media_svc_get_null_scan_folder_list(sqlite3 *handle, const char *storage_id
                cnt = sqlite3_column_int(sql_stmt, 0);
                SQLITE3_FINALIZE(sql_stmt);
                if (cnt > 0) {
-                       sql = sqlite3_mprintf("SELECT path FROM '%s' WHERE path LIKE '%q/%%' AND name IN (select REPLACE(path,'%q/','') from '%s' WHERE path LIKE '%q/%%'); ",
-                       MEDIA_SVC_DB_TABLE_FOLDER, path, path, MEDIA_SVC_DB_TABLE_FOLDER, path);
+                       sql = sqlite3_mprintf("SELECT path FROM '%s' WHERE path IN (SELECT DISTINCT '%q/'||name from '%s' WHERE path LIKE '%q/%%')",
+                               MEDIA_SVC_DB_TABLE_FOLDER, path, MEDIA_SVC_DB_TABLE_FOLDER, path);
                } else {
                        *folder_list = NULL;
                        *count = 0;