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;
_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);
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);
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);
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);
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);
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);