Reinforce internal function 78/204878/4 accepted/tizen/unified/20190502.051432 submit/tizen/20190430.073413
authorMinje Ahn <minje.ahn@samsung.com>
Mon, 29 Apr 2019 04:28:08 +0000 (13:28 +0900)
committerMinje Ahn <minje.ahn@samsung.com>
Mon, 29 Apr 2019 07:51:34 +0000 (16:51 +0900)
1. Use allocation instead of array in _media_db_get_storage_id_by_media_id()
2. Separate select query function
3. Incidental code cleanup

Change-Id: I659a5e3e4e8b099afcbc9b8afca0a592885f178f
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
15 files changed:
include/media_info_private.h
include_product/media_info_private.h
src/media_bookmark.c
src/media_content.c
src/media_db.c
src/media_face.c
src/media_folder.c
src/media_group.c
src/media_image.c
src/media_info.c
src/media_playlist.c
src/media_pvr.c
src/media_storage.c
src/media_tag.c
src/media_uhd.c

index d77ec79..f0ad5ee 100755 (executable)
@@ -509,7 +509,8 @@ typedef struct _media_content_cb_data {
 #define UPDATE_MEDIA_INFO_IN_FACE_SCAN_LIST    "UPDATE "DB_TABLE_FACE_SCAN_LIST" SET modified_time = 0 WHERE media_id IN (SELECT media_id FROM "DB_TABLE_FACE" WHERE media_face_id=%d)"
 #define SELECT_FACE_ID                 "SELECT media_face_id FROM "DB_TABLE_FACE" WHERE media_id='%q' AND face_rect_x=%d AND face_rect_y=%d AND face_rect_w=%d AND face_rect_h=%d AND face_orientation=%d"
 
-int _content_query_prepare(sqlite3_stmt **stmt, char *select_query, char *condition_query, char *option_query);
+int _content_query_prepare(char *select_query, char *condition_query, char *option_query, sqlite3_stmt **stmt);
+int _content_get_result(char *query, sqlite3_stmt **stmt);
 int _content_error_capi(int content_error);
 int _content_query_sql(char *query_str);
 sqlite3 * _content_get_db_handle(void);
@@ -533,7 +534,7 @@ int _media_db_get_group_item(const char *group_name, filter_h filter, media_info
 int _media_db_get_media_group_item_count(const char *group_name, filter_h filter, media_group_e group, int *item_count);
 int _media_db_get_media_group_item(const char *group_name, filter_h filter, media_group_e group, media_info_cb callback, void *user_data);
 int _media_db_get_storage(filter_h filter, media_storage_cb callback, void *user_data);
-int _media_db_get_storage_id_by_media_id(const char *media_id, char *storage_id);
+int _media_db_get_storage_id_by_media_id(const char *media_id, char **storage_id);
 
 int _media_filter_attribute_generate(filter_h filter, char **generated_condition);
 int _media_filter_attribute_option_generate(filter_h filter, char **generated_option);
index b51f128..f555acb 100755 (executable)
@@ -741,7 +741,8 @@ typedef struct _media_content_scan_cb_data_v2 {
 #define SELECT_UHD_FROM_UHD                            "SELECT * FROM "DB_TABLE_UHD" WHERE media_id='%q'"
 #define UPDATE_UHD_META_FROM_UHD               "UPDATE "DB_TABLE_UHD" SET content_title=%Q, release_date=%Q, played_position=%d, sub_type=%d, played_count=%d WHERE media_id='%q'"
 
-int _content_query_prepare(sqlite3_stmt **stmt, char *select_query, char *condition_query, char *option_query);
+int _content_query_prepare(char *select_query, char *condition_query, char *option_query, sqlite3_stmt **stmt);
+int _content_get_result(char *query, sqlite3_stmt **stmt);
 int _content_error_capi(int content_error);
 int _content_query_sql(char *query_str);
 sqlite3 * _content_get_db_handle(void);
@@ -770,9 +771,7 @@ int _media_db_get_group_item_by_union_select(const char *group_name, filter_h fi
 int _media_db_get_media_group_item_count(const char *group_name, filter_h filter, media_group_e group, int *item_count);
 int _media_db_get_media_group_item(const char *group_name, filter_h filter, media_group_e group, media_info_cb callback, void *user_data);
 int _media_db_get_storage(filter_h filter, media_storage_cb callback, void *user_data);
-int _media_db_get_storage_id_by_media_id(const char *media_id, char *storage_id);
-int _media_db_get_storage(filter_h filter, media_storage_cb callback, void *user_data);
-int _media_db_get_storage_id_by_media_id(const char *media_id, char *storage_id);
+int _media_db_get_storage_id_by_media_id(const char *media_id, char **storage_id);
 int _media_db_get_pvr(filter_h filter, media_pvr_cb callback, void *user_data);
 void _media_pvr_item_get_detail(sqlite3_stmt* stmt, media_pvr_h pvr);
 int _media_db_get_pvr_group_item(const char *group_name, filter_h filter, media_group_e group, media_pvr_cb callback, void *user_data);
index 96ae824..b252a40 100755 (executable)
@@ -17,8 +17,6 @@
 
 #include <media_info_private.h>
 
-static int __media_bookmark_check_media_id(const char *media_id);
-
 static int __media_bookmark_check_media_id(const char *media_id)
 {
        int ret = MEDIA_CONTENT_ERROR_NONE;
@@ -29,7 +27,7 @@ static int __media_bookmark_check_media_id(const char *media_id)
        media_content_retvm_if(!STRING_VALID(media_id), MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "invalid media_id");
 
        query_str = sqlite3_mprintf(SELECT_MEDIA_COUNT_FROM_MEDIA_BY_ID, media_id);
-       ret = _content_query_prepare(&stmt, query_str, NULL, NULL);
+       ret = _content_get_result(query_str, &stmt);
        SQLITE3_SAFE_FREE(query_str);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
@@ -346,7 +344,7 @@ int media_bookmark_insert_to_db_v2(media_bookmark_h bookmark)
 
        select_query = sqlite3_mprintf(SELECT_BOOKMARK_ID_FROM_BOOKMARK, _bookmark->media_id, _bookmark->marked_time);
 
-       ret = _content_query_prepare(&stmt, select_query, NULL, NULL);
+       ret = _content_get_result(select_query, &stmt);
        SQLITE3_SAFE_FREE(select_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
index 143df99..fe00189 100755 (executable)
@@ -36,14 +36,11 @@ uid_t _content_get_uid(void)
                return content_g_uid;
 }
 
-int _content_query_prepare(sqlite3_stmt **stmt, char *select_query, char *condition_query, char *option_query)
+int _content_query_prepare(char *select_query, char *condition_query, char *option_query, sqlite3_stmt **stmt)
 {
-       int len = 0;
-       int err = MEDIA_CONTENT_ERROR_NONE;
-       char query[MAX_QUERY_SIZE] = {0, };
-       memset(query, '\0', sizeof(query));
+       int ret = MEDIA_CONTENT_ERROR_NONE;
+       char *query = NULL;
 
-       media_content_retvm_if(db_handle == NULL, MEDIA_CONTENT_ERROR_DB_FAILED, "database is not connected");
        media_content_retvm_if(!STRING_VALID(select_query), MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "invalid select_query");
 
        if (!STRING_VALID(condition_query))
@@ -52,33 +49,31 @@ int _content_query_prepare(sqlite3_stmt **stmt, char *select_query, char *condit
        if (!STRING_VALID(option_query))
                option_query = (char *)" ";
 
-       /*query = sqlite3_mprintf("%s %s %s", select_query, condition_query, option_query);*/
-       len = snprintf(query, sizeof(query), "%s %s %s", select_query, condition_query, option_query);
-       if (len > 0 && len < sizeof(query))
-               query[len] = '\0';
-       else if (len >= sizeof(query))
-               query[MAX_QUERY_SIZE -1] = '\0';
-       else {
-               media_content_error("snprintf failed");
-               return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
-       }
+       query = sqlite3_mprintf("%s %s %s", select_query, condition_query, option_query);
+       ret = _content_get_result(query, stmt);
+       SQLITE3_SAFE_FREE(query);
 
-       media_content_sec_debug("Query : [%s]", query);
+       return ret;
+}
+
+int _content_get_result(char *query, sqlite3_stmt **stmt)
+{
+       int err = MEDIA_CONTENT_ERROR_NONE;
+
+       media_content_retvm_if(db_handle == NULL, MEDIA_CONTENT_ERROR_DB_FAILED, "database is not connected");
+       media_content_retvm_if(!STRING_VALID(query), MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "invalid query");
+
+       media_content_sec_debug("Query[%s]", query);
 
        err = sqlite3_prepare_v2(db_handle, query, strlen(query), stmt, NULL);
        if (err != SQLITE_OK) {
-               media_content_error("DB_FAILED(0x%08x) fail to sqlite3_prepare(), %s", MEDIA_CONTENT_ERROR_DB_FAILED, sqlite3_errmsg(db_handle));
-
-               if (err == SQLITE_BUSY) {
-                       media_content_error(" BUSY ERROR");
+               media_content_error("Failed to sqlite3_prepare_v2[%s]", sqlite3_errmsg(db_handle));
+               if (err == SQLITE_BUSY)
                        return MEDIA_CONTENT_ERROR_DB_BUSY;
-               } else if (err == SQLITE_PERM) {
-                       media_content_error("PERMISSION EROR");
+               else if (err == SQLITE_PERM)
                        return MEDIA_CONTENT_ERROR_PERMISSION_DENIED;
-               } else {
-                       media_content_error("OTHER ERROR");
+               else
                        return MEDIA_CONTENT_ERROR_DB_FAILED;
-               }
        }
 
        return MEDIA_CONTENT_ERROR_NONE;
@@ -552,16 +547,19 @@ void _media_content_db_update_noti_cb(
                                                        char *mime_type,
                                                        void *user_data)
 {
-       int error_value = MEDIA_CONTENT_ERROR_NONE;
-
        media_noti_cb_s *_noti_info = (media_noti_cb_s *)user_data;
 
-       if (_noti_info != NULL) {
-               if (_noti_info->update_noti_cb)
-                       _noti_info->update_noti_cb(error_value, pid, item, update_type, content_type, uuid, path, mime_type, _noti_info->user_data);
-       }
-
-       return;
+       if (_noti_info != NULL && _noti_info->update_noti_cb)
+               _noti_info->update_noti_cb(
+                                       MEDIA_CONTENT_ERROR_NONE,
+                                       pid,
+                                       item,
+                                       update_type,
+                                       content_type,
+                                       uuid,
+                                       path,
+                                       mime_type,
+                                       _noti_info->user_data);
 }
 
 int media_content_add_db_updated_cb(media_content_db_update_cb callback, void *user_data, media_content_noti_h *noti_handle)
@@ -569,21 +567,11 @@ int media_content_add_db_updated_cb(media_content_db_update_cb callback, void *u
        int ret = MEDIA_CONTENT_ERROR_NONE;
        media_noti_cb_s *noti_info = NULL;
 
-       if (noti_handle == NULL) {
-               media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
-               return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
-       }
-
-       if (callback == NULL) {
-               media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
-               return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
-       }
+       media_content_retvm_if(noti_handle == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "handle is NULL");
+       media_content_retvm_if(callback == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "callback is NULL");
 
        noti_info = (media_noti_cb_s *)calloc(1, sizeof(media_noti_cb_s));
-       if (noti_info == NULL) {
-               media_content_error("Failed to create noti info");
-               return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
-       }
+       media_content_retvm_if(noti_info == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "Failed to create noti info");
 
        noti_info->update_noti_cb = callback;
        noti_info->user_data = user_data;
index 8169166..8bfc59e 100755 (executable)
@@ -19,7 +19,6 @@
 #include <media_info_private.h>
 #include <media_util_private.h>
 
-static char * __media_db_get_group_name(media_group_e group);
 static int __media_db_make_query(filter_h filter, char *select_query, int select_query_size, char **condition_query, char **option_query);
 
 static char * __media_db_get_group_name(media_group_e group)
@@ -301,7 +300,7 @@ int _media_db_get_group_count(filter_h filter, group_list_e group_type, int *gro
        ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
-       ret = _content_query_prepare(&stmt, select_query, condition_query, option_query);
+       ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
        SAFE_FREE(condition_query);
        SAFE_FREE(option_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
@@ -360,7 +359,7 @@ int _media_db_get_media_group_count(media_group_e group, filter_h filter, int *g
        SAFE_FREE(condition_query);
        SAFE_FREE(option_query);
 
-       ret = _content_query_prepare(&stmt, select_query, condition_query, option_query);
+       ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
        SAFE_FREE(condition_query);
        SAFE_FREE(option_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
@@ -409,7 +408,7 @@ int _media_db_get_media_group(media_group_e group, filter_h filter, media_group_
        ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
-       ret = _content_query_prepare(&stmt, select_query, condition_query, option_query);
+       ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
        SAFE_FREE(condition_query);
        SAFE_FREE(option_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
@@ -475,7 +474,7 @@ int _media_db_get_media_group_and_count(media_group_e group, filter_h filter, me
        else
                snprintf(group_query, sizeof(group_query), "GROUP BY %s", group_name);
 
-       ret = _content_query_prepare(&stmt, select_query, condition_query, group_query);
+       ret = _content_query_prepare(select_query, condition_query, group_query, &stmt);
        SAFE_FREE(condition_query);
        SAFE_FREE(option_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
@@ -516,7 +515,7 @@ int _media_db_get_album(filter_h filter, media_album_cb callback, void *user_dat
        ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
-       ret = _content_query_prepare(&stmt, select_query, condition_query, option_query);
+       ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
        SAFE_FREE(condition_query);
        SAFE_FREE(option_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
@@ -567,8 +566,7 @@ int _media_db_get_folder(filter_h filter, media_folder_cb callback, void *user_d
        ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
-       ret = _content_query_prepare(&stmt, select_query, condition_query, option_query);
-
+       ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
        SAFE_FREE(condition_query);
        SAFE_FREE(option_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
@@ -619,7 +617,7 @@ int _media_db_get_playlist(filter_h filter, media_playlist_cb callback, void *us
        ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
-       ret = _content_query_prepare(&stmt, select_query, condition_query, option_query);
+       ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
        SAFE_FREE(condition_query);
        SAFE_FREE(option_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
@@ -664,7 +662,7 @@ int _media_db_get_playlist_item(int playlist_id, filter_h filter, playlist_membe
        ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
-       ret = _content_query_prepare(&stmt, select_query, condition_query, option_query);
+       ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
        SAFE_FREE(condition_query);
        SAFE_FREE(option_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
@@ -719,7 +717,7 @@ int _media_db_get_tag(const char *media_id, filter_h filter, media_tag_cb callba
 
        SAFE_STRLCAT(select_query, QUERY_KEYWORD_SPACE, sizeof(select_query));
 
-       ret = _content_query_prepare(&stmt, select_query, condition_query, option_query);
+       ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
        SAFE_FREE(condition_query);
        SAFE_FREE(option_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
@@ -774,7 +772,7 @@ int _media_db_get_bookmark(const char *media_id, filter_h filter, media_bookmark
        ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
-       ret = _content_query_prepare(&stmt, select_query, condition_query, option_query);
+       ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
        SAFE_FREE(condition_query);
        SAFE_FREE(option_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
@@ -834,7 +832,7 @@ int _media_db_get_face(const char *media_id, filter_h filter, media_face_cb call
        ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
-       ret = _content_query_prepare(&stmt, select_query, condition_query, option_query);
+       ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
        SAFE_FREE(condition_query);
        SAFE_FREE(option_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
@@ -899,7 +897,7 @@ int _media_db_get_group_item_count_by_id(int group_id, filter_h filter, group_li
        ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
-       ret = _content_query_prepare(&stmt, select_query, condition_query, option_query);
+       ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
        SAFE_FREE(condition_query);
        SAFE_FREE(option_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
@@ -1003,7 +1001,7 @@ int _media_db_get_group_item_count(const char *group_name, filter_h filter, grou
                SAFE_FREE(option_query);
        }
 
-       ret = _content_query_prepare(&stmt, select_query, condition_query, option_query);
+       ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
        if (tmp_query != NULL)
                SQLITE3_SAFE_FREE(tmp_query);
        SAFE_FREE(condition_query);
@@ -1052,7 +1050,7 @@ int _media_db_get_group_item_by_id(int group_id, filter_h filter, media_info_cb
        ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
-       ret = _content_query_prepare(&stmt, select_query, condition_query, option_query);
+       ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
        SAFE_FREE(condition_query);
        SAFE_FREE(option_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
@@ -1111,7 +1109,7 @@ int _media_db_get_group_item(const char *group_name, filter_h filter, media_info
        ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
-       ret = _content_query_prepare(&stmt, select_query, condition_query, option_query);
+       ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
        SAFE_FREE(condition_query);
        SAFE_FREE(option_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
@@ -1304,7 +1302,7 @@ int _media_db_get_media_group_item_count(const char *group_name, filter_h filter
        SAFE_FREE(condition_query);
        SAFE_FREE(option_query);
 
-       ret = _content_query_prepare(&stmt, select_query, condition_query, option_query);
+       ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
        if (tmp_query != NULL)
                SQLITE3_SAFE_FREE(tmp_query);
        SAFE_FREE(condition_query);
@@ -1352,7 +1350,7 @@ int _media_db_get_media_group_item(const char *group_name, filter_h filter, medi
                return ret;
        }
 
-       ret = _content_query_prepare(&stmt, select_query, condition_query, option_query);
+       ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
        if (tmp_query != NULL)
                SQLITE3_SAFE_FREE(tmp_query);
        SAFE_FREE(condition_query);
@@ -1400,7 +1398,7 @@ int _media_db_get_storage(filter_h filter, media_storage_cb callback, void *user
        ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
-       ret = _content_query_prepare(&stmt, select_query, condition_query, option_query);
+       ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
        SAFE_FREE(condition_query);
        SAFE_FREE(option_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
@@ -1430,6 +1428,31 @@ int _media_db_get_storage(filter_h filter, media_storage_cb callback, void *user
 
        return ret;
 }
+
+int _media_db_get_storage_id_by_media_id(const char *media_id, char **storage_id)
+{
+       int ret = MEDIA_CONTENT_ERROR_NONE;
+       sqlite3_stmt *stmt = NULL;
+       char *select_query = NULL;
+
+       select_query = sqlite3_mprintf(SELECT_MEDIA_STORAGE_ID_BY_ID, media_id);
+
+       ret = _content_get_result(select_query, &stmt);
+       SQLITE3_SAFE_FREE(select_query);
+       media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
+
+       if (sqlite3_step(stmt) == SQLITE_ROW) {
+               *storage_id = g_strdup((const char *)sqlite3_column_text(stmt, 0));
+       } else {
+               media_content_error("Invalid media_id[%s]", media_id);
+               ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
+       }
+
+       SQLITE3_FINALIZE(stmt);
+
+       return ret;
+}
+
 #ifdef _USE_TVPD_MODE
 int _media_db_get_pvr_group_item(const char *group_name, filter_h filter, media_group_e group, media_pvr_cb callback, void *user_data)
 {
@@ -1464,7 +1487,7 @@ int _media_db_get_pvr_group_item(const char *group_name, filter_h filter, media_
                return ret;
        }
 
-       ret = _content_query_prepare(&stmt, select_query, condition_query, option_query);
+       ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
        if (tmp_query != NULL)
                sqlite3_free(tmp_query);
        SAFE_FREE(condition_query);
@@ -1680,7 +1703,7 @@ int _media_db_get_pvr(filter_h filter, media_pvr_cb callback, void *user_data)
        ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
-       ret = _content_query_prepare(&stmt, select_query, condition_query, option_query);
+       ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
        SAFE_FREE(condition_query);
        SAFE_FREE(option_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
@@ -1708,38 +1731,7 @@ int _media_db_get_pvr(filter_h filter, media_pvr_cb callback, void *user_data)
 
        return ret;
 }
-#endif
-
-int _media_db_get_storage_id_by_media_id(const char *media_id, char *storage_id)
-{
-       int ret = MEDIA_CONTENT_ERROR_NONE;
-       sqlite3_stmt *stmt = NULL;
-       char *select_query = NULL;
-
-       select_query = sqlite3_mprintf(SELECT_MEDIA_STORAGE_ID_BY_ID, media_id);
-
-       ret = _content_query_prepare(&stmt, select_query, NULL, NULL);
-       SQLITE3_SAFE_FREE(select_query);
-       media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
-
-       if (sqlite3_step(stmt) == SQLITE_ROW) {
-               if (STRING_VALID((const char *)sqlite3_column_text(stmt, 0))) {
-                       if (!SAFE_STRLCPY(storage_id, (const char *)sqlite3_column_text(stmt, 0), MEDIA_CONTENT_UUID_SIZE+1)) {
-                               media_content_error("Storage id copy fail");
-                               ret = MEDIA_CONTENT_ERROR_INVALID_OPERATION;
-                       }
-               }
-       } else {
-               media_content_error("There's no media!!");
-               ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
-       }
-
-       SQLITE3_FINALIZE(stmt);
-
-       return ret;
-}
 
-#ifdef _USE_TVPD_MODE
 typedef enum {
        MEDIA_UHD_MEDIA_ID = 0,
        MEDIA_UHD_STORAGE_ID,
@@ -1810,7 +1802,7 @@ int _media_db_get_uhd(filter_h filter, media_uhd_cb callback, void *user_data)
        ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
-       ret = _content_query_prepare(&stmt, select_query, condition_query, option_query);
+       ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
        SAFE_FREE(condition_query);
        SAFE_FREE(option_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
index 979a92c..bc02e48 100755 (executable)
@@ -30,7 +30,7 @@ static int __media_face_check_media_id(const char *media_id)
 
        /* Get image count */
        query_str = sqlite3_mprintf(SELECT_IMAGE_COUNT_FROM_MEDIA_BY_ID, media_id);
-       ret = _content_query_prepare(&stmt, query_str, NULL, NULL);
+       ret = _content_get_result(query_str, &stmt);
        SQLITE3_SAFE_FREE(query_str);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
@@ -259,7 +259,7 @@ int media_face_insert_to_db(media_face_h face)
        SQLITE3_SAFE_FREE(query_str);
 
        query_str = sqlite3_mprintf(SELECT_FACE_ID, _face->media_id, _face->face_rect_x, _face->face_rect_y, _face->face_rect_w, _face->face_rect_h, _face->orientation);
-       ret = _content_query_prepare(&stmt, query_str, NULL, NULL);
+       ret = _content_get_result(query_str, &stmt);
        SQLITE3_SAFE_FREE(query_str);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
index 6195df3..26cfd54 100755 (executable)
@@ -328,7 +328,7 @@ int media_folder_get_folder_from_db(const char *folder_id, media_folder_h *folde
        memset(select_query, 0x00, sizeof(select_query));
        snprintf(select_query, sizeof(select_query), SELECT_FOLDER_FROM_FOLDER, folder_id);
 
-       ret = _content_query_prepare(&stmt, select_query, NULL, NULL);
+       ret = _content_get_result(select_query, &stmt);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
        if (sqlite3_step(stmt) == SQLITE_ROW) {
index 270e801..90350aa 100755 (executable)
@@ -87,7 +87,7 @@ int media_album_get_album_from_db(int album_id, media_album_h *album)
 
        snprintf(select_query, sizeof(select_query), SELECT_ALBUM_FROM_ALBUM, album_id);
 
-       ret = _content_query_prepare(&stmt, select_query, NULL, NULL);
+       ret = _content_get_result(select_query, &stmt);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
        if (sqlite3_step(stmt) == SQLITE_ROW) {
index 587f4ab..839fc37 100755 (executable)
@@ -282,17 +282,16 @@ int image_meta_update_to_db(image_meta_h image)
        media_content_warn("DEPRECATION WARNING: image_meta_update_to_db() is deprecated and will be removed from next release.");
        image_meta_s *_image = (image_meta_s*)image;
        char *sql = NULL;
+       char *storage_id = NULL;
 
        if (_image != NULL && STRING_VALID(_image->media_id)) {
-               char storage_id[MEDIA_CONTENT_UUID_SIZE+1] = {0,};
-               memset(storage_id, 0x00, sizeof(storage_id));
-
-               ret = _media_db_get_storage_id_by_media_id(_image->media_id, storage_id);
+               ret = _media_db_get_storage_id_by_media_id(_image->media_id, &storage_id);
                media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
                sql = sqlite3_mprintf(UPDATE_IMAGE_META_FROM_MEDIA, storage_id, _image->orientation, _image->media_id);
                ret = _content_query_sql(sql);
                SQLITE3_SAFE_FREE(sql);
+               SAFE_FREE(storage_id);
        } else {
                media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
                ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
index 3964849..ef2b0ba 100755 (executable)
@@ -47,7 +47,7 @@ static int __media_info_get_media_path_by_id_from_db(const char *media_id, char
 
        select_query = sqlite3_mprintf(SELECT_MEDIA_PATH_BY_ID, media_id);
 
-       ret = _content_query_prepare(&stmt, select_query, NULL, NULL);
+       ret = _content_get_result(select_query, &stmt);
        SQLITE3_SAFE_FREE(select_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
@@ -373,7 +373,7 @@ int _media_info_get_media_info_from_db(const char *path, const char *storage_id,
 
        select_query = sqlite3_mprintf(SELECT_MEDIA_BY_PATH, storage_id, path);
 
-       ret = _content_query_prepare(&stmt, select_query, NULL, NULL);
+       ret = _content_get_result(select_query, &stmt);
        SQLITE3_SAFE_FREE(select_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
@@ -523,7 +523,7 @@ int media_info_delete_from_db(const char *media_id)
 {
        int ret = MEDIA_CONTENT_ERROR_NONE;
        char *path = NULL;
-       char storage_id[MEDIA_CONTENT_UUID_SIZE+1] = {0, };
+       char *storage_id = NULL;
        media_content_warn("DEPRECATION WARNING: media_info_delete_from_db() is deprecated and will be removed from next release. Use media_content_scan_file() instead.");
 
        if (!STRING_VALID(media_id)) {
@@ -531,8 +531,6 @@ int media_info_delete_from_db(const char *media_id)
                return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
        }
 
-       memset(storage_id, 0x00, sizeof(storage_id));
-
        ret = __media_info_get_media_path_by_id_from_db(media_id, &path);
        if (ret != MEDIA_CONTENT_ERROR_NONE) {
                media_content_error("__media_info_get_media_path_by_id_from_db failed : %d", ret);
@@ -540,7 +538,7 @@ int media_info_delete_from_db(const char *media_id)
                return ret;
        }
 
-       ret = _media_db_get_storage_id_by_media_id(media_id, storage_id);
+       ret = _media_db_get_storage_id_by_media_id(media_id, &storage_id);
        if (ret != MEDIA_CONTENT_ERROR_NONE) {
                media_content_error("_media_db_get_storage_id_by_media_id failed : %d", ret);
                SAFE_FREE(path);
@@ -549,6 +547,7 @@ int media_info_delete_from_db(const char *media_id)
 
        ret = media_svc_delete_item_by_path(_content_get_db_handle(), storage_id, path, _content_get_uid());
        SAFE_FREE(path);
+       SAFE_FREE(storage_id);
 
        return _content_error_capi(ret);
 }
@@ -1532,15 +1531,13 @@ int media_info_delete_item(const char *media_id)
 {
        int ret = MEDIA_CONTENT_ERROR_NONE;
        char *path = NULL;
-       char storage_id[MEDIA_CONTENT_UUID_SIZE+1] = {0,};
+       char *storage_id = NULL;
 
        if (!STRING_VALID(media_id)) {
                media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
                return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
        }
 
-       memset(storage_id, 0x00, sizeof(storage_id));
-
        ret = __media_info_get_media_path_by_id_from_db(media_id, &path);
        if (ret != MEDIA_CONTENT_ERROR_NONE) {
                media_content_error("__media_info_get_media_path_by_id_from_db failed : %d", ret);
@@ -1548,7 +1545,7 @@ int media_info_delete_item(const char *media_id)
                return ret;
        }
 
-       ret = _media_db_get_storage_id_by_media_id(media_id, storage_id);
+       ret = _media_db_get_storage_id_by_media_id(media_id, &storage_id);
        if (ret != MEDIA_CONTENT_ERROR_NONE) {
                media_content_error("_media_db_get_storage_id_by_media_id failed : %d", ret);
                SAFE_FREE(path);
@@ -1556,6 +1553,7 @@ int media_info_delete_item(const char *media_id)
        }
 
        ret = media_svc_delete_item_by_path(_content_get_db_handle(), storage_id, path, tzplatform_getuid(TZ_USER_NAME));
+       SAFE_FREE(storage_id);
        if (ret != MEDIA_CONTENT_ERROR_NONE) {
                media_content_error("remove from DB failed : %d", ret);
                SAFE_FREE(path);
@@ -1791,7 +1789,7 @@ int media_info_get_media_from_db(const char *media_id, media_info_h *media)
 {
        int ret = MEDIA_CONTENT_ERROR_NONE;
        char select_query[DEFAULT_QUERY_SIZE] = {0, };
-       char storage_id[MEDIA_CONTENT_UUID_SIZE+1] = {0, };
+       char *storage_id = NULL;
        sqlite3_stmt *stmt = NULL;
 
        if (!STRING_VALID(media_id) || (media == NULL)) {
@@ -1800,14 +1798,13 @@ int media_info_get_media_from_db(const char *media_id, media_info_h *media)
        }
 
        memset(select_query, 0x00, sizeof(select_query));
-       memset(storage_id, 0x00, sizeof(storage_id));
 
-       ret = _media_db_get_storage_id_by_media_id(media_id, storage_id);
+       ret = _media_db_get_storage_id_by_media_id(media_id, &storage_id);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
        snprintf(select_query, sizeof(select_query), SELECT_MEDIA_FROM_MEDIA, storage_id, media_id);
-
-       ret = _content_query_prepare(&stmt, select_query, NULL, NULL);
+       ret = _content_get_result(select_query, &stmt);
+       SAFE_FREE(storage_id);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
        media_info_s *_media = NULL;
index 6f4c90e..40be502 100755 (executable)
@@ -84,7 +84,7 @@ static int __media_playlist_insert_playlist_record(const char *playlist_name, in
 
        select_query = sqlite3_mprintf(SELECT_PLAYLIST_ID_FROM_PLAYLIST, playlist_name);
 
-       ret = _content_query_prepare(&stmt, select_query, NULL, NULL);
+       ret = _content_get_result(select_query, &stmt);
        SQLITE3_SAFE_FREE(select_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
@@ -109,7 +109,7 @@ static int __media_playlist_insert_item_to_playlist(int playlist_id, const char
        snprintf(select_query, sizeof(select_query), SELECT_MAX_PLAY_ORDER_FROM_PLAYLIST_VIEW, playlist_id);
 
        /* get the max play_order */
-       ret = _content_query_prepare(&stmt, select_query, NULL, NULL);
+       ret = _content_get_result(select_query, &stmt);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
        if (sqlite3_step(stmt) == SQLITE_ROW)
@@ -506,7 +506,7 @@ int media_playlist_get_playlist_from_db(int playlist_id, media_playlist_h *playl
 
                snprintf(select_query, sizeof(select_query), SELECT_PLAYLIST_FROM_PLAYLIST, playlist_id);
 
-               ret = _content_query_prepare(&stmt, select_query, NULL, NULL);
+               ret = _content_get_result(select_query, &stmt);
                media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
                media_playlist_s *_playlist = NULL;
@@ -615,7 +615,7 @@ int media_playlist_get_play_order(media_playlist_h playlist, int playlist_member
 
        snprintf(select_query, sizeof(select_query), SELECT_PLAY_ORDER_FROM_PLAYLIST_VIEW, playlist_id, playlist_member_id);
 
-       ret = _content_query_prepare(&stmt, select_query, NULL, NULL);
+       ret = _content_get_result(select_query, &stmt);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
        if (sqlite3_step(stmt) == SQLITE_ROW)
@@ -997,7 +997,7 @@ int media_playlist_get_play_order_v2(int playlist_id, int playlist_member_id, in
 
        snprintf(select_query, sizeof(select_query), SELECT_PLAY_ORDER_FROM_PLAYLIST_VIEW, playlist_id, playlist_member_id);
 
-       ret = _content_query_prepare(&stmt, select_query, NULL, NULL);
+       ret = _content_get_result(select_query, &stmt);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
        if (sqlite3_step(stmt) == SQLITE_ROW)
index 04d94d4..ec3b6ab 100755 (executable)
@@ -264,7 +264,7 @@ int media_pvr_get_pvr_from_db(const char *media_id, media_pvr_h *pvr)
 
        select_query = sqlite3_mprintf(SELECT_PVR_FROM_PVR, media_id);
 
-       ret = _content_query_prepare(&stmt, select_query, NULL, NULL);
+       ret = _content_get_result(select_query, &stmt);
        sqlite3_free(select_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
@@ -679,7 +679,7 @@ int media_pvr_get_program_num(media_pvr_h pvr, int *program_num)
        return ret;
 }
 
-int media_pvr_get_service_profile(media_pvr_h pvr,unsigned int *service_profile)
+int media_pvr_get_service_profile(media_pvr_h pvr, unsigned int *service_profile)
 {
        int ret = MEDIA_CONTENT_ERROR_NONE;
        media_pvr_s *_pvr = (media_pvr_s*)pvr;
index 4198965..acb72eb 100755 (executable)
@@ -33,7 +33,7 @@ int media_storage_get_storage_info_from_db(const char *storage_id, media_storage
        memset(select_query, 0x00, sizeof(select_query));
        snprintf(select_query, sizeof(select_query), SELECT_STORAGE_INFO_FROM_STORAGE, storage_id);
 
-       ret = _content_query_prepare(&stmt, select_query, NULL, NULL);
+       ret = _content_get_result(select_query, &stmt);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
        if (sqlite3_step(stmt) == SQLITE_ROW) {
index 0a7de21..ed74363 100755 (executable)
@@ -97,7 +97,7 @@ static int __media_tag_get_tag_info_from_db(const char *name, media_tag_h tag)
 
        select_query = sqlite3_mprintf(SELECT_TAG_BY_NAME, name);
 
-       ret = _content_query_prepare(&stmt, select_query, NULL, NULL);
+       ret = _content_get_result(select_query, &stmt);
        SQLITE3_SAFE_FREE(select_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
@@ -312,7 +312,7 @@ int media_tag_get_tag_from_db(int tag_id, media_tag_h *tag)
 
        snprintf(select_query, sizeof(select_query), SELECT_TAG_FROM_TAG, tag_id);
 
-       ret = _content_query_prepare(&stmt, select_query, NULL, NULL);
+       ret = _content_get_result(select_query, &stmt);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
        media_tag_s *_tag = NULL;
index bfd857b..082f42c 100755 (executable)
@@ -173,8 +173,8 @@ int media_uhd_get_uhd_from_db(const char *media_id, media_uhd_h *uhd)
 
        select_query = sqlite3_mprintf(SELECT_UHD_FROM_UHD, media_id);
 
-       ret = _content_query_prepare(&stmt, select_query, NULL, NULL);
-       sqlite3_free(select_query);
+       ret = _content_get_result(select_query, &stmt);
+       SQLITE3_SAFE_FREE(select_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
        media_uhd_s *_uhd = NULL;