Remove unnecessary DB field and queries 90/159590/1
authorMinje Ahn <minje.ahn@samsung.com>
Fri, 10 Nov 2017 03:06:41 +0000 (12:06 +0900)
committerMinje Ahn <minje.ahn@samsung.com>
Fri, 10 Nov 2017 03:06:41 +0000 (12:06 +0900)
Remove storage_id in face_scan_list
Remove queries for duplicate check

Change-Id: Id8f4649747552e95a13d1ad20e0efd7b03c842cb
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
include/dcm_svc_db.h
include/dcm_svc_internal.h
src/dcm_svc_db.c
src/dcm_svc_extract_color.c
src/dcm_svc_internal.c

index 352a700bdf2c6bf77322c18e9a6f145b57c1fe04..0c6160c53c9727459570ee4a5f85ecb4a769042f 100755 (executable)
 #define DB_TABLE_MEDIA "media"
 #define FACE_ITEM "face_uuid, media_uuid, face_rect_x , face_rect_y, face_rect_w , face_rect_h, orientation"
 
-#define SELECT_MEDIA_INFO_BY_FILE_PATH_FROM_DB "SELECT media_uuid, storage_uuid, width, height, orientation, mime_type, modified_time FROM media WHERE path = '%q';"
+#define SELECT_MEDIA_INFO_BY_FILE_PATH_FROM_DB "SELECT media_uuid, width, height, orientation, mime_type, modified_time FROM media WHERE path = '%q';"
 #define SELECT_SCAN_INFO_BY_MEDIA_ID "SELECT modified_time FROM "DB_TABLE_FACE_SCAN_LIST" WHERE media_uuid = '%q';"
 
-#define INSERT_FACE_ITEM_TO_DB "INSERT INTO " DB_TABLE_FACE" (" FACE_ITEM") VALUES ('%q', '%q', %d, %d, %d, %d, %d);"
+#define INSERT_FACE_ITEM_TO_DB "INSERT OR IGNORE INTO " DB_TABLE_FACE" (" FACE_ITEM") VALUES ('%q', '%q', %d, %d, %d, %d, %d);"
 
 typedef struct {
        char *face_uuid;
@@ -47,7 +47,6 @@ typedef struct {
 
 typedef struct {
        char *media_uuid;
-       char *storage_uuid;
        unsigned char rgb_r;
        unsigned char rgb_g;
        unsigned char rgb_b;
index 621b624eaba347d5a417dfca3ee7f116c4be1fe5..6ef548d04d5d7cd0f8636f4c82bb3746091d866c 100755 (executable)
@@ -24,7 +24,6 @@
 typedef struct {
        char *media_uuid;
        char *file_path;
-       char *storage_uuid;
        time_t modified_time;
        int image_width;
        int image_height;
index 251edd82227cbe17473e717218201295a5171245..6d92f6b0e0fa5ed6cf95f47613f21f5b1f93db65 100755 (executable)
@@ -28,77 +28,6 @@ static GMutex gMutexLock;
 static MediaDBHandle *db_handle;
 static uid_t dcm_uid;
 
-static gboolean __dcm_svc_db_check_duplicated(MediaDBHandle *db_handle, dcm_face_item_s *data);
-static gboolean __dcm_svc_db_check_duplicated_scan_list(MediaDBHandle *db_handle, const char *data);
-static int __dcm_svc_sql_prepare_to_step(sqlite3 *handle, const char *sql_str, sqlite3_stmt** stmt);
-
-static gboolean __dcm_svc_db_check_duplicated(MediaDBHandle *db_handle, dcm_face_item_s *data)
-{
-       int ret = MS_MEDIA_ERR_NONE;
-       sqlite3 * handle = (sqlite3 *)db_handle;
-       sqlite3_stmt *sql_stmt = NULL;
-       char *query_string = NULL;
-       int count = 0;
-
-       DCM_CHECK_FALSE((data != NULL));
-       DCM_CHECK_FALSE((data->media_uuid != NULL));
-
-       query_string = sqlite3_mprintf("SELECT count(*) FROM %s WHERE (media_uuid='%s' AND"
-               " face_rect_x='%d' AND face_rect_y='%d' AND face_rect_w='%d' AND face_rect_h='%d' AND orientation='%d')"
-               , DB_TABLE_FACE, data->media_uuid
-               , data->face_rect_x, data->face_rect_y, data->face_rect_w, data->face_rect_h, data->orientation);
-
-       ret = __dcm_svc_sql_prepare_to_step(handle, query_string, &sql_stmt);
-
-       if (ret != MS_MEDIA_ERR_NONE) {
-               dcm_error("error when __dcm_svc_sql_prepare_to_step. ret = [%d]", ret);
-               return TRUE;
-       }
-
-       count = sqlite3_column_int(sql_stmt, 0);
-
-       DCM_SQLITE3_FINALIZE(sql_stmt);
-
-       if (count > 0) {
-               dcm_warn("duplicated face data!");
-               return TRUE;
-       }
-
-       return FALSE;
-}
-
-static gboolean __dcm_svc_db_check_duplicated_scan_list(MediaDBHandle *db_handle, const char *data)
-{
-       int ret = MS_MEDIA_ERR_NONE;
-       sqlite3 * handle = (sqlite3 *)db_handle;
-       sqlite3_stmt *sql_stmt = NULL;
-       char *query_string = NULL;
-       int count = 0;
-
-       DCM_CHECK_FALSE((data != NULL));
-
-       query_string = sqlite3_mprintf("SELECT count(*) FROM %s WHERE media_uuid='%s'", DB_TABLE_FACE_SCAN_LIST, data);
-
-       ret = __dcm_svc_sql_prepare_to_step(handle, query_string, &sql_stmt);
-
-       if (ret != MS_MEDIA_ERR_NONE) {
-               dcm_error("error when __dcm_svc_sql_prepare_to_step. ret = [%d]", ret);
-               return TRUE;
-       }
-
-       count = sqlite3_column_int(sql_stmt, 0);
-
-       DCM_SQLITE3_FINALIZE(sql_stmt);
-
-       if (count > 0) {
-               dcm_warn("duplicated media data!");
-               return TRUE;
-       }
-
-       return FALSE;
-}
-
-
 static int __dcm_svc_sql_prepare_to_step(sqlite3 *handle, const char *sql_str, sqlite3_stmt** stmt)
 {
        int ret = MS_MEDIA_ERR_NONE;
@@ -204,12 +133,11 @@ int dcm_svc_db_get_scan_image_info_by_path(const char *file_path, dcm_svc_item_s
 
        _item->media_uuid = g_strdup((const char *)sqlite3_column_text(sql_stmt, 0));
        _item->file_path = g_strdup(file_path);
-       _item->storage_uuid = g_strdup((const char *)sqlite3_column_text(sql_stmt, 1));
-       _item->image_width = sqlite3_column_int(sql_stmt, 2);
-       _item->image_height = sqlite3_column_int(sql_stmt, 3);
-       _item->image_orientation = sqlite3_column_int(sql_stmt, 4);
-       _item->mime_type = g_strdup((const char *)sqlite3_column_text(sql_stmt, 5));
-       _item->modified_time = sqlite3_column_int(sql_stmt, 6);
+       _item->image_width = sqlite3_column_int(sql_stmt, 1);
+       _item->image_height = sqlite3_column_int(sql_stmt, 2);
+       _item->image_orientation = sqlite3_column_int(sql_stmt, 3);
+       _item->mime_type = g_strdup((const char *)sqlite3_column_text(sql_stmt, 4));
+       _item->modified_time = sqlite3_column_int(sql_stmt, 5);
 
        DCM_SQLITE3_FINALIZE(sql_stmt);
 
@@ -257,14 +185,8 @@ int dcm_svc_db_insert_face_to_db(dcm_face_item_s *face)
        dcm_retvm_if(face == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Invalid face");
        dcm_retvm_if(face->face_uuid == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Invalid face_uuid");
 
-       if (__dcm_svc_db_check_duplicated(db_handle, face) == TRUE) {
-               dcm_error("[__dcm_svc_db_check_duplicated] The data is duplicated!");
-               return MS_MEDIA_ERR_INTERNAL;
-       }
-
        query_string = sqlite3_mprintf(INSERT_FACE_ITEM_TO_DB, face->face_uuid, face->media_uuid, face->face_rect_x, face->face_rect_y, face->face_rect_w, face->face_rect_h, face->orientation);
-
-       dcm_debug("query is %s", query_string);
+       dcm_debug("query[%s]", query_string);
 
        g_mutex_trylock(&gMutexLock);
        ret = media_db_request_update_db(query_string, dcm_uid);
@@ -291,14 +213,8 @@ int dcm_svc_db_insert_face_to_face_scan_list(dcm_svc_item_s *scan_item)
        dcm_retvm_if(scan_item == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Invalid scan_item");
        dcm_retvm_if(scan_item->media_uuid == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Invalid media_uuid");
 
-       if (__dcm_svc_db_check_duplicated_scan_list(db_handle, scan_item->media_uuid) == TRUE) {
-               dcm_error("[_dcm_svc_db_insert_face_to_face_scan_list] The data is duplicated!");
-               return MS_MEDIA_ERR_INTERNAL;
-       }
-
-       query_string = sqlite3_mprintf("INSERT INTO %s (media_uuid, storage_uuid, modified_time) values('%q', '%q', '%d')", DB_TABLE_FACE_SCAN_LIST, scan_item->media_uuid, scan_item->storage_uuid, scan_item->modified_time);
-
-       dcm_debug("query is %s", query_string);
+       query_string = sqlite3_mprintf("INSERT OR IGNORE INTO %s (media_uuid, modified_time) values('%q', %d)", DB_TABLE_FACE_SCAN_LIST, scan_item->media_uuid, scan_item->modified_time);
+       dcm_debug("query[%s]", query_string);
 
        g_mutex_trylock(&gMutexLock);
        ret = media_db_request_update_db(query_string, dcm_uid);
@@ -327,7 +243,7 @@ int dcm_svc_db_update_face_to_face_scan_list(dcm_svc_item_s *scan_item)
 
        query_string = sqlite3_mprintf("UPDATE %s SET modified_time = %d WHERE media_uuid='%q'", DB_TABLE_FACE_SCAN_LIST, scan_item->modified_time, scan_item->media_uuid);
 
-       dcm_debug("query is %s", query_string);
+       dcm_debug("query[%s]", query_string);
 
        g_mutex_trylock(&gMutexLock);
        ret = media_db_request_update_db(query_string, dcm_uid);
@@ -355,7 +271,7 @@ int dcm_svc_db_delete_face_from_db(const char *media_uuid)
 
        query_string = sqlite3_mprintf("DELETE FROM %s WHERE media_uuid='%q' AND user_marked = 0", DB_TABLE_FACE, media_uuid);
 
-       dcm_sec_debug("query is %s", query_string);
+       dcm_sec_debug("query[%s]", query_string);
 
        g_mutex_trylock(&gMutexLock);
        ret = media_db_request_update_db(query_string, dcm_uid);
@@ -381,9 +297,8 @@ int dcm_svc_db_update_color_to_db(dcm_color_item_s color)
 
        dcm_retvm_if(db_handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Invalid db_handle");
        dcm_retvm_if(color.media_uuid == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Invalid media_uuid");
-       dcm_retvm_if(color.storage_uuid == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Invalid storage_uuid");
 
-       query_string = sqlite3_mprintf(UPDATE_COLOR_ITEM_TO_DB, (int)(color.rgb_r), (int)(color.rgb_g), (int)(color.rgb_b), color.media_uuid, color.storage_uuid);
+       query_string = sqlite3_mprintf(UPDATE_COLOR_ITEM_TO_DB, (int)(color.rgb_r), (int)(color.rgb_g), (int)(color.rgb_b), color.media_uuid);
        dcm_debug("query is %s", query_string);
 
        g_mutex_trylock(&gMutexLock);
index aea1d1340cfe98fdb1dd87c103f905f4556c37e7..bdad34f4bc82a0057d3bd0a222c9153e9dd4211f 100755 (executable)
@@ -44,7 +44,6 @@ int dcm_color_extract_process(dcm_svc_item_s *scan_item, dcm_image_info_s *image
        dcm_debug("image_util_extract_color_from_memory result r:%02x, g:%02x, b:%02x", colorItem.rgb_r, colorItem.rgb_g, colorItem.rgb_b);
 
        colorItem.media_uuid = g_strdup(scan_item->media_uuid);
-       colorItem.storage_uuid = g_strdup(scan_item->storage_uuid);
        ret = dcm_svc_db_update_color_to_db(colorItem);
        if (ret != MS_MEDIA_ERR_NONE) {
                dcm_error("Failed to update color item into db! err: %d", ret);
index 98b7432476b04660c10369c8585d1e419801892d..4a89e7a578d5f79d0a65d7e69087076afa93e620 100755 (executable)
@@ -158,7 +158,6 @@ int dcm_scan_single(const char *file_path, uid_t uid, int *face_count)
 
        DCM_SAFE_FREE(scan_item->media_uuid);
        DCM_SAFE_FREE(scan_item->file_path);
-       DCM_SAFE_FREE(scan_item->storage_uuid);
        DCM_SAFE_FREE(scan_item);
 
        dcm_debug_fleave();