Match columns of storage with filter keyword
[platform/core/api/media-content.git] / src / media_tag.c
index 7564963..884eccc 100755 (executable)
@@ -59,7 +59,7 @@ static int __media_tag_insert_item_to_tag(int tag_id, const char *media_id)
        char *query_str = NULL;
 
        query_str = sqlite3_mprintf("INSERT INTO %q (tag_id, media_uuid) values (%d, '%q');", DB_TABLE_TAG_MAP, tag_id, media_id);
-       ret = media_svc_append_query(query_str, tzplatform_getuid(TZ_USER_NAME));
+       ret = media_svc_append_query(query_str, _content_get_uid());
 
        return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
 }
@@ -70,7 +70,7 @@ static int __media_tag_remove_item_from_tag(int tag_id, const char *media_id)
        char *query_str = NULL;
 
        query_str = sqlite3_mprintf(REMOVE_TAG_ITEM_FROM_TAG_MAP, tag_id, media_id);
-       ret = media_svc_append_query(query_str, tzplatform_getuid(TZ_USER_NAME));
+       ret = media_svc_append_query(query_str, _content_get_uid());
 
        return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
 }
@@ -81,7 +81,7 @@ static int __media_tag_update_tag_name(int tag_id, const char *tag_name)
        char *query_str = NULL;
 
        query_str = sqlite3_mprintf(UPDATE_TAG_NAME_FROM_TAG, tag_name, tag_id);
-       ret = media_svc_append_query(query_str, tzplatform_getuid(TZ_USER_NAME));
+       ret = media_svc_append_query(query_str, _content_get_uid());
 
        return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
 }
@@ -91,8 +91,6 @@ static int __media_tag_get_tag_info_from_db(const char *name, media_tag_h tag)
        int ret = MEDIA_CONTENT_ERROR_NONE;
        sqlite3_stmt *stmt = NULL;
        char *select_query = NULL;
-       int id = 0;
-       char *tag_name = NULL;
        media_tag_s *_tag = (media_tag_s*)tag;
 
        media_content_retvm_if(_tag == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "invalid tag");
@@ -103,16 +101,14 @@ static int __media_tag_get_tag_info_from_db(const char *name, media_tag_h tag)
        SQLITE3_SAFE_FREE(select_query);
        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
 
-       while (sqlite3_step(stmt) == SQLITE_ROW) {
-               SAFE_FREE(tag_name);
-
-               id = (int)sqlite3_column_int(stmt, 0);
-               tag_name = g_strdup((const char *)sqlite3_column_text(stmt, 1));
+       if (sqlite3_step(stmt) == SQLITE_ROW) {
+               _tag->tag_id = (int)sqlite3_column_int(stmt, 0);
+               _tag->name = g_strdup(name);
+       } else {
+               media_content_error("Nonexistent tag name[%s]", name);
+               ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
        }
 
-       _tag->tag_id = id;
-       _tag->name = tag_name;
-
        SQLITE3_FINALIZE(stmt);
 
        return ret;
@@ -233,6 +229,7 @@ int media_tag_destroy(media_tag_h tag)
 
        return ret;
 }
+
 int media_tag_clone(media_tag_h *dst, media_tag_h src)
 {
        int ret = MEDIA_CONTENT_ERROR_NONE;
@@ -320,10 +317,7 @@ int media_tag_get_tag_from_db(int tag_id, media_tag_h *tag)
 
        media_tag_s *_tag = NULL;
 
-       while (sqlite3_step(stmt) == SQLITE_ROW) {
-               if (_tag)
-                       media_tag_destroy((media_tag_h)_tag);
-
+       if (sqlite3_step(stmt) == SQLITE_ROW) {
                _tag = (media_tag_s*)calloc(1, sizeof(media_tag_s));
                if (_tag == NULL) {
                        SQLITE3_FINALIZE(stmt);
@@ -331,10 +325,13 @@ int media_tag_get_tag_from_db(int tag_id, media_tag_h *tag)
                        return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
                }
 
-               _tag->tag_id = (int)sqlite3_column_int(stmt, 0);
-               _tag->name = g_strdup((const char *)sqlite3_column_text(stmt, 1));
+               _tag->tag_id = tag_id;
+               _tag->name = g_strdup((const char *)sqlite3_column_text(stmt, 0));
 
                *tag = (media_tag_h)_tag;
+       } else {
+               media_content_error("Nonexistent tag id[%d]", tag_id);
+               ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
        }
 
        SQLITE3_FINALIZE(stmt);
@@ -478,10 +475,13 @@ int media_tag_update_to_db(media_tag_h tag)
                        default:
                        break;
                        }
+
+                       if (ret != MEDIA_CONTENT_ERROR_NONE)
+                               media_content_error("Failed some operation[%d]", _tag_item->function);
                }
        }
 
-       ret = media_svc_send_query(tzplatform_getuid(TZ_USER_NAME));
+       ret = media_svc_send_query(_content_get_uid());
 
        __media_tag_item_release(_tag);
 
@@ -545,7 +545,6 @@ int media_tag_update_to_db_v2(int tag_id, media_tag_h tag)
        media_tag_s *_tag = (media_tag_s*)tag;
 
        media_content_retvm_if(_tag == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "invalid tag");
-       media_content_retvm_if(!STRING_VALID(_tag->name), MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "invalid tag name");
        media_content_retvm_if(tag_id == -1, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "invalid tag update");
 
        _tag->tag_id = tag_id;