static __thread GList *g_media_svc_scanner_query_list = NULL;
static __thread GList *g_media_svc_update_list = NULL;
-int _media_svc_count_record_with_path(sqlite3 *handle, const char *path, int *count)
+int _media_svc_check_data_by_path(sqlite3 *handle, const char *path)
{
int ret = MS_MEDIA_ERR_NONE;
sqlite3_stmt *sql_stmt = NULL;
media_svc_retvm_if(!STRING_VALID(path), MS_MEDIA_ERR_INVALID_PARAMETER, "Path is NULL");
- sql = sqlite3_mprintf("SELECT count(*) FROM %q WHERE media_path=%Q", MEDIA_SVC_DB_TABLE_MEDIA, path);
+ sql = sqlite3_mprintf("SELECT 1 FROM %q WHERE media_path=%Q", MEDIA_SVC_DB_TABLE_MEDIA, path);
ret = _media_svc_sql_prepare_to_step(handle, sql, &sql_stmt);
media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-
- *count = sqlite3_column_int(sql_stmt, 0);
-
SQLITE3_FINALIZE(sql_stmt);
- return MS_MEDIA_ERR_NONE;
+ return ret;
}
int _media_svc_get_modified_time(sqlite3 *handle, const char *path, int *modified_time)
void _media_svc_publish_noti_list(void)
{
g_slist_foreach(g_inserted_noti_list, __media_svc_publish_noti_by_item, NULL);
+
+ _media_svc_initialize_noti_list();
}
void _media_svc_destroy_noti_item(media_svc_noti_item *item)
media_svc_error("user_version update fail.");
goto ERROR;
}
-
- _media_svc_destroy_table_query();
-
- media_svc_debug_fleave();
-
- return MS_MEDIA_ERR_NONE;
ERROR:
_media_svc_destroy_table_query();
int media_svc_check_item_exist_by_path(sqlite3 *handle, const char *storage_id, const char *path)
{
- int ret = MS_MEDIA_ERR_NONE;
- int count = -1;
-
- ret = _media_svc_count_record_with_path(handle, path, &count);
- media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-
- if (count > 0) {
- media_svc_debug("item is exist in database");
- return MS_MEDIA_ERR_NONE;
- } else {
- media_svc_debug("item is not exist in database");
- return MS_MEDIA_ERR_DB_NO_RECORD;
- }
-
- return MS_MEDIA_ERR_NONE;
+ return _media_svc_check_data_by_path(handle, path);
}
int media_svc_get_modified_time(sqlite3 *handle, const char *storage_id, const char *path, int *modified_time)
if (g_insert_with_noti) {
media_svc_debug("sending noti list");
_media_svc_publish_noti_list();
- _media_svc_initialize_noti_list();
g_insert_with_noti = false;
_media_svc_set_noti_from_pid(-1);
}
ret = _media_svc_list_query_do(MEDIA_SVC_QUERY_SCANNER, uid);
media_svc_retv_del_if(ret != MS_MEDIA_ERR_NONE, ret, &content_info);
- if (g_insert_with_noti) {
+ if (g_insert_with_noti)
_media_svc_publish_noti_list();
- _media_svc_initialize_noti_list();
- }
g_media_svc_cur_data_cnt = 0;
}
#include "media-svc-noti.h"
#include "media-svc-util.h"
-int _media_svc_count_record_with_path(sqlite3 *handle, const char *path, int *count);
+int _media_svc_check_data_by_path(sqlite3 *handle, const char *path);
int _media_svc_get_modified_time(sqlite3 *handle, const char *path, int *modified_time);
int _media_svc_insert_item_with_data(bool is_direct, media_svc_content_info_s *content_info, bool stack_query, uid_t uid);
int _media_svc_update_item_with_data(bool is_direct, media_svc_content_info_s *content_info, uid_t uid);