int ret = MS_MEDIA_ERR_NONE;
char *q = NULL;
g_autofree gchar *old_storage_path = NULL;
+ g_autofree gchar *folder_name = NULL;
int validity = 0;
media_svc_retvm_if(!storage_id, MS_MEDIA_ERR_INVALID_PARAMETER, "storage_id is NULL");
media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
/* Remove first */
- q = sqlite3_mprintf("DELETE FROM %q WHERE media_path LIKE '%q/%%';DELETE FROM %q WHERE folder_path LIKE '%q/%%';DELETE FROM %q WHERE storage_path=%Q;", DB_TABLE_MEDIA, path, DB_TABLE_FOLDER, path, DB_TABLE_STORAGE, path);
+ q = sqlite3_mprintf("DELETE FROM %q WHERE media_path LIKE '%q/%%';DELETE FROM %q WHERE folder_path LIKE '%q/%%' OR folder_path=%Q;DELETE FROM %q WHERE storage_path=%Q;", DB_TABLE_MEDIA, path, DB_TABLE_FOLDER, path, path, DB_TABLE_STORAGE, path);
ret = _media_svc_sql_query_direct(q, uid);
sqlite3_free(q);
media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
sqlite3_free(q);
media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
+ /*the name of root path on folder table*/
+ folder_name = g_path_get_basename(path);
+ q = sqlite3_mprintf("UPDATE %q SET folder_name=%Q WHERE folder_path=%Q", DB_TABLE_FOLDER, folder_name, path);
+ ret = _media_svc_sql_query_direct(q, uid);
+ sqlite3_free(q);
+ media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
+
/*Media table update*/
q = sqlite3_mprintf("UPDATE %q SET media_path=REPLACE(media_path, %Q, %Q), validity=1 WHERE storage_uuid=%Q", DB_TABLE_MEDIA, old_storage_path, path, storage_id);
ret = _media_svc_sql_query_direct(q, uid);