Use DB thread for single query if the request is one 48/205748/2 submit/tizen/20190513.075227
authorMinje Ahn <minje.ahn@samsung.com>
Thu, 9 May 2019 04:09:15 +0000 (13:09 +0900)
committerMinje Ahn <minje.ahn@samsung.com>
Thu, 9 May 2019 07:55:18 +0000 (16:55 +0900)
If the reqeust is one, use single DB thread instead of batch DB thread.

Change-Id: Ib733502747f326ae07d0f9e3dd91990cc09cd3cf
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
src/common/media-svc-media.c

index da5bf66..c6ac6a2 100755 (executable)
@@ -516,6 +516,7 @@ int _media_svc_update_item_by_path(const char *org_storage_id, const char *src_p
 int _media_svc_list_query_do(media_svc_query_type_e query_type, uid_t uid)
 {
        int ret = MS_MEDIA_ERR_NONE;
+       char *sql = NULL;
 
        /* For multiples of 200, empty requests are possible */
        switch (query_type) {
@@ -523,6 +524,17 @@ int _media_svc_list_query_do(media_svc_query_type_e query_type, uid_t uid)
                if (g_media_svc_update_list == NULL || g_list_length(g_media_svc_update_list) == 0)
                        return MS_MEDIA_ERR_NONE;
 
+               if (g_list_length(g_media_svc_update_list) == 1) {
+                       sql = (char *)g_list_nth_data(g_media_svc_update_list, 0);
+                       if (STRING_VALID(sql)) {
+                               ret = _media_svc_sql_query(sql, uid);
+                               SQLITE3_SAFE_FREE(sql);
+                       }
+                       _media_svc_sql_query_release(&g_media_svc_update_list);
+
+                       return ret;
+               }
+
                ret = _media_svc_sql_begin_trans(uid);
                media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);