int ret = MS_MEDIA_ERR_NONE;
char *sql = NULL;
- if (storage_id == NULL)
- sql = sqlite3_mprintf("UPDATE %q SET validity=%d", DB_TABLE_STORAGE, validity);
- else
- sql = sqlite3_mprintf("UPDATE %q SET validity=%d WHERE storage_id=%Q", DB_TABLE_STORAGE, validity, storage_id);
-
+ if (storage_id == NULL) {
+ sql = sqlite3_mprintf("UPDATE %q SET validity=%d;UPDATE %q SET validity=%d WHERE folder_storage_type > 0;UPDATE %q SET validity=%d WHERE media_storage_type > 0;",
+ DB_TABLE_STORAGE, validity, DB_TABLE_FOLDER, validity, DB_TABLE_MEDIA, validity);
+ } else {
+ sql = sqlite3_mprintf("UPDATE %q SET validity=%d WHERE storage_id=%Q;UPDATE %q SET validity=%d WHERE storage_uuid=%Q;UPDATE %q SET validity=%d WHERE storage_uuid=%Q;",
+ DB_TABLE_STORAGE, validity, storage_id, DB_TABLE_FOLDER, validity, storage_id, DB_TABLE_MEDIA, validity, storage_id);
+ }
ret = _media_svc_sql_query_direct(sql, uid);
SQLITE3_SAFE_FREE(sql);