int idx = 0;
int length = g_list_length(*query_list);
char *sql = NULL;
- char query_bundle[MEDIA_SVC_QUERY_LEN_MAX] = {0, };
- unsigned int query_len = 0;
- unsigned int total_len = 0;
media_svc_debug("query list length : [%d]", length);
- memset(query_bundle, 0, sizeof(query_bundle));
-
for (idx = 0; idx < length; idx++) {
sql = (char *)g_list_nth_data(*query_list, idx);
if (STRING_VALID(sql)) {
- query_len = strlen(sql);
-
- if (query_len >= (sizeof(query_bundle) - 1)) {
- media_svc_error("NEED TO CHECK FILE : A single query size exceeds 8k [%u]", query_len);
- SQLITE3_SAFE_FREE(sql);
- continue;
- }
-
- if ((total_len + query_len) >= (sizeof(query_bundle) - 1)) {
- ret = media_db_request_update_db(query_bundle, uid);
- if (ret != MS_MEDIA_ERR_NONE)
- media_svc_error("media_db_request_update_db failed : %d", ret);
-
- memset(query_bundle, 0, sizeof(query_bundle));
- total_len = 0;
- /* NEED TO CHECK : If a single query size is over 8K, drop it. */
- /* Consider inserting the basic information without metadata */
- /* Refer : SQLITE3 spec In Tizen 3.0 */
- /* Single query limit size = 1 billion bytes(1GiB) */
- /* DB limit size = 1 billion bytes(1GiB) */
- /* column limit = 2000 */
- }
-
- g_strlcat(query_bundle, sql, sizeof(query_bundle));
- total_len += query_len;
-
- SQLITE3_SAFE_FREE(sql);
+ ret = media_db_request_update_db(sql, uid);
+ if (ret != MS_MEDIA_ERR_NONE)
+ media_svc_error("media_db_request_update_db failed : %d", ret);
}
- }
-
- if (total_len > 0) {
- ret = media_db_request_update_db(query_bundle, uid);
- if (ret != MS_MEDIA_ERR_NONE)
- media_svc_error("media_db_request_update_db failed : %d", ret);
- memset(query_bundle, 0, sizeof(query_bundle));
- total_len = 0;
+ SQLITE3_SAFE_FREE(sql);
}
_media_svc_sql_query_release(query_list);