#include <media_info_private.h>
#include <media_util_private.h>
-static int __media_db_make_query(filter_h filter, char *select_query, int select_query_size, char **condition_query, char **option_query);
-
static char * __media_db_get_group_name(media_group_e group)
{
switch (group) {
return NULL;
}
-static int __media_db_make_query(filter_h filter, char *select_query, int select_query_size, char **condition_query, char **option_query)
+static int __media_db_make_query(filter_h filter, char **condition_query, char **option_query)
{
int ret = MEDIA_CONTENT_ERROR_NONE;
filter_s *_filter = NULL;
return ret;
}
}
-
- if (STRING_VALID(*condition_query)) {
- SAFE_STRLCAT(select_query, QUERY_KEYWORD_SPACE, select_query_size);
- SAFE_STRLCAT(select_query, QUERY_KEYWORD_AND, select_query_size);
- }
}
return ret;
memset(select_query, 0x00, sizeof(select_query));
switch (group_type) {
- case MEDIA_GROUP_NONE:
- case MEDIA_GROUP_TAG_BY_MEDIA_ID:
- case MEDIA_GROUP_BOOKMARK_BY_MEDIA_ID:
- case MEDIA_GROUP_FACE_BY_MEDIA_ID:
- {
- media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
- return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
- }
- break;
case MEDIA_GROUP_ALBUM:
if ((_filter != NULL) && STRING_VALID(_filter->storage_id))
snprintf(select_query, sizeof(select_query), SELECT_ALBUM_COUNT, _filter->storage_id);
else
snprintf(select_query, sizeof(select_query), SELECT_FACE_COUNT, DB_VIEW_MEDIA);
break;
- case MEDIA_GROUP_PVR:
- case MEDIA_GROUP_UHD:
default:
- {
- media_content_error("Invalid group type [%d]", group_type);
- return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
- }
- break;
+ media_content_error("Invalid group type [%d]", group_type);
+ return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
}
- ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
+ ret = __media_db_make_query(filter, &condition_query, &option_query);
media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
else
snprintf(select_query, sizeof(select_query), SELECT_UHD_GROUP_COUNT, __media_db_get_group_name(group));
}
- ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
+ ret = __media_db_make_query(filter, &condition_query, &option_query);
media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
SAFE_STRLCAT(select_query, QUERY_KEYWORD_SPACE, sizeof(select_query));
- if (STRING_VALID(condition_query))
+ if (STRING_VALID(condition_query)) {
+ SAFE_STRLCAT(select_query, QUERY_KEYWORD_AND, sizeof(select_query));
SAFE_STRLCAT(select_query, condition_query, sizeof(select_query));
+ }
if (STRING_VALID(option_query))
SAFE_STRLCAT(select_query, option_query, sizeof(select_query));
SAFE_STRLCAT(select_query, QUERY_KEYWORD_BRACKET, sizeof(select_query));
else
snprintf(select_query, sizeof(select_query), SELECT_UHD_GROUP_LIST, __media_db_get_group_name(group));
}
- ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
+ ret = __media_db_make_query(filter, &condition_query, &option_query);
media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
snprintf(select_query, sizeof(select_query), SELECT_UHD_GROUP_AND_COUNT, group_name);
}
- ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
+ ret = __media_db_make_query(filter, &condition_query, &option_query);
media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
if (STRING_VALID(option_query))
memset(select_query, 0x00, sizeof(select_query));
switch (group_type) {
- case MEDIA_GROUP_NONE:
- case MEDIA_GROUP_TAG_BY_MEDIA_ID:
- case MEDIA_GROUP_BOOKMARK_BY_MEDIA_ID:
- case MEDIA_GROUP_FACE_BY_MEDIA_ID:
- {
- media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
- return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
- }
- break;
case MEDIA_GROUP_ALBUM:
if ((_filter != NULL) && STRING_VALID(_filter->storage_id))
snprintf(select_query, sizeof(select_query), SELECT_ALBUM_COUNT_BY_STORAGE_ID, _filter->storage_id);
snprintf(select_query, sizeof(select_query), SELECT_FACE_COUNT);
break;
default:
- {
- media_content_error("Invalid group type [%d]", group_type);
- return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
- }
- break;
+ media_content_error("Invalid group type [%d]", group_type);
+ return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
}
- ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
+ ret = __media_db_make_query(filter, &condition_query, &option_query);
media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
else
snprintf(select_query, sizeof(select_query), SELECT_MEDIA_GROUP_COUNT, __media_db_get_group_name(group));
- ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
+ ret = __media_db_make_query(filter, &condition_query, &option_query);
media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
SAFE_STRLCAT(select_query, QUERY_KEYWORD_SPACE, sizeof(select_query));
- if (STRING_VALID(condition_query))
+ if (STRING_VALID(condition_query)) {
+ SAFE_STRLCAT(select_query, QUERY_KEYWORD_AND, sizeof(select_query));
SAFE_STRLCAT(select_query, condition_query, sizeof(select_query));
+ }
if (STRING_VALID(option_query))
SAFE_STRLCAT(select_query, option_query, sizeof(select_query));
SAFE_STRLCAT(select_query, QUERY_KEYWORD_BRACKET, sizeof(select_query));
SAFE_FREE(option_query);
ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
- SAFE_FREE(condition_query);
- SAFE_FREE(option_query);
media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
if (sqlite3_step(stmt) == SQLITE_ROW)
else
snprintf(select_query, sizeof(select_query), SELECT_MEDIA_GROUP_LIST, __media_db_get_group_name(group));
- ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
+ ret = __media_db_make_query(filter, &condition_query, &option_query);
media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
else
snprintf(select_query, sizeof(select_query), SELECT_ALBUM_LIST);
#endif
- ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
+ ret = __media_db_make_query(filter, &condition_query, &option_query);
media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
else
snprintf(select_query, sizeof(select_query), SELECT_FOLDER_LIST);
#endif
- ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
+ ret = __media_db_make_query(filter, &condition_query, &option_query);
media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
}
- ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
+ ret = __media_db_make_query(filter, &condition_query, &option_query);
media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
snprintf(select_query, sizeof(select_query), SELECT_PLAYLIST_ITEM_ALL_FROM_PLAYLIST_VIEW, playlist_id);
- ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
+ ret = __media_db_make_query(filter, &condition_query, &option_query);
media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
} else
snprintf(select_query, sizeof(select_query), SELECT_TAG_LIST_BY_MEDIA_ID, media_id);
- ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
+ ret = __media_db_make_query(filter, &condition_query, &option_query);
media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
- SAFE_STRLCAT(select_query, QUERY_KEYWORD_SPACE, sizeof(select_query));
-
ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
SAFE_FREE(condition_query);
SAFE_FREE(option_query);
}
#endif
- ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
+ ret = __media_db_make_query(filter, &condition_query, &option_query);
media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
snprintf(select_query, sizeof(select_query), SELECT_FACE_LIST);
}
#endif
- ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
+ ret = __media_db_make_query(filter, &condition_query, &option_query);
media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
}
- ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
+ ret = __media_db_make_query(filter, &condition_query, &option_query);
media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
}
- ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
+ ret = __media_db_make_query(filter, &condition_query, &option_query);
if (ret != MEDIA_CONTENT_ERROR_NONE) {
if (tmp_query != NULL)
SQLITE3_SAFE_FREE(tmp_query);
if (group_type == MEDIA_GROUP_NONE) {
SAFE_STRLCAT(select_query, QUERY_KEYWORD_SPACE, sizeof(select_query));
- if (STRING_VALID(condition_query))
+ if (STRING_VALID(condition_query)) {
+ SAFE_STRLCAT(select_query, QUERY_KEYWORD_AND, sizeof(select_query));
SAFE_STRLCAT(select_query, condition_query, sizeof(select_query));
+ }
if (STRING_VALID(option_query))
SAFE_STRLCAT(select_query, option_query, sizeof(select_query));
return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
}
#endif
- ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
+ ret = __media_db_make_query(filter, &condition_query, &option_query);
media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
}
#endif
- ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
+ ret = __media_db_make_query(filter, &condition_query, &option_query);
media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
else
snprintf(select_query1, sizeof(select_query1), SELECT_MEDIA_FROM_FOLDER, DB_VIEW_MEDIA, group_name);
- ret = __media_db_make_query(filter1, select_query1, sizeof(select_query1), &condition_query1, &option_query1);
+ ret = __media_db_make_query(filter, &condition_query, &option_query);
if (ret != MEDIA_CONTENT_ERROR_NONE) {
SAFE_FREE(condition_query1);
SAFE_FREE(option_query1);
else
snprintf(select_query2, sizeof(select_query2), SELECT_MEDIA_FROM_FOLDER, DB_VIEW_MEDIA, group_name);
- ret = __media_db_make_query(filter2, select_query2, sizeof(select_query2), &condition_query2, &option_query2);
+ ret = __media_db_make_query(filter, &condition_query, &option_query);
if (ret != MEDIA_CONTENT_ERROR_NONE) {
SAFE_FREE(condition_query1);
SAFE_FREE(option_query1);
snprintf(select_query, sizeof(select_query), SELECT_MEDIA_COUNT_FROM_GROUP_NULL, __media_db_get_group_name(group));
}
#endif
- ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
+ ret = __media_db_make_query(filter, &condition_query, &option_query);
if (ret != MEDIA_CONTENT_ERROR_NONE) {
if (tmp_query != NULL)
SQLITE3_SAFE_FREE(tmp_query);
}
SAFE_STRLCAT(select_query, QUERY_KEYWORD_SPACE, sizeof(select_query));
- if (STRING_VALID(condition_query))
+ if (STRING_VALID(condition_query)) {
+ SAFE_STRLCAT(select_query, QUERY_KEYWORD_AND, sizeof(select_query));
SAFE_STRLCAT(select_query, condition_query, sizeof(select_query));
+ }
if (STRING_VALID(option_query))
SAFE_STRLCAT(select_query, option_query, sizeof(select_query));
SAFE_STRLCAT(select_query, QUERY_KEYWORD_BRACKET, sizeof(select_query));
snprintf(select_query, sizeof(select_query), SELECT_MEDIA_FROM_GROUP_NULL, __media_db_get_group_name(group));
}
#endif
- ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
+ ret = __media_db_make_query(filter, &condition_query, &option_query);
if (ret != MEDIA_CONTENT_ERROR_NONE) {
if (tmp_query != NULL)
SQLITE3_SAFE_FREE(tmp_query);
return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
}
- ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
+ ret = __media_db_make_query(filter, &condition_query, &option_query);
media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
snprintf(select_query, sizeof(select_query), SELECT_PVR_FROM_GROUP_NULL, __media_db_get_group_name(group));
}
- ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
+ ret = __media_db_make_query(filter, &condition_query, &option_query);
if (ret != MEDIA_CONTENT_ERROR_NONE) {
if (tmp_query != NULL)
sqlite3_free(tmp_query);
else
SAFE_STRLCAT(select_query, SELECT_PVR_LIST, sizeof(select_query));
- ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
+ ret = __media_db_make_query(filter, &condition_query, &option_query);
media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
else
SAFE_STRLCAT(select_query, SELECT_UHD_LIST, sizeof(select_query));
- ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
+ ret = __media_db_make_query(filter, &condition_query, &option_query);
media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);