Fix filter condition collate bug 93/134293/1 submit/tizen/20170616.054328
authorMinje Ahn <minje.ahn@samsung.com>
Fri, 16 Jun 2017 00:47:04 +0000 (09:47 +0900)
committerMinje Ahn <minje.ahn@samsung.com>
Fri, 16 Jun 2017 00:47:04 +0000 (09:47 +0900)
Fixed an issue where the collate option does not apply

Change-Id: I25ee4d75521a555d7804c038d763979ee1d19a8f
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
include/media_info_private.h
include_product/media_info_private.h
packaging/capi-content-media-content.spec
src/media_db.c
src/media_filter.c

index cf99666..0f03f6b 100755 (executable)
@@ -644,7 +644,7 @@ typedef struct _media_content_cb_data {
 #define SELECT_MEDIA_STORAGE_ID_BY_ID          "SELECT storage_uuid FROM "DB_TABLE_MEDIA_VIEW" WHERE media_uuid='%q'"
 
 /* Delete */
-#define DELETE_MEDIA_FROM_MEDIA_BATCH  "DELETE FROM  '%s' WHERE %s"
+#define DELETE_MEDIA_FROM_MEDIA_BATCH  "DELETE FROM  '%s' WHERE (%s"
 #define DELETE_PLAYLIST_FROM_PLAYLIST          "DELETE FROM "DB_TABLE_PLAYLIST" WHERE playlist_id=%d"
 #define DELETE_TAG_FROM_TAG                            "DELETE FROM "DB_TABLE_TAG" WHERE tag_id=%d"
 #define DELETE_BOOKMARK_FROM_BOOKMARK  "DELETE FROM "DB_TABLE_BOOKMARK" WHERE bookmark_id=%d"
index 18458b4..c6577ff 100755 (executable)
@@ -814,7 +814,7 @@ typedef struct _media_content_scan_cb_data_v2 {
 #define SELECT_MEDIA_STORAGE_ID_BY_ID          "SELECT storage_uuid FROM "DB_TABLE_MEDIA_VIEW" WHERE media_uuid='%q'"
 
 /* Delete */
-#define DELETE_MEDIA_FROM_MEDIA_BATCH  "DELETE FROM  '%s' WHERE %s"
+#define DELETE_MEDIA_FROM_MEDIA_BATCH  "DELETE FROM  '%s' WHERE (%s"
 #define DELETE_PLAYLIST_FROM_PLAYLIST          "DELETE FROM "DB_TABLE_PLAYLIST" WHERE playlist_id=%d"
 #define DELETE_TAG_FROM_TAG                            "DELETE FROM "DB_TABLE_TAG" WHERE tag_id=%d"
 #define DELETE_BOOKMARK_FROM_BOOKMARK  "DELETE FROM "DB_TABLE_BOOKMARK" WHERE bookmark_id=%d"
index 616bdfa..16ede16 100755 (executable)
@@ -1,6 +1,6 @@
 Name:       capi-content-media-content
 Summary:    A Media content library in Tizen Native API
-Version:    0.3.14
+Version:    0.3.15
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
index 7b689a8..cfea9a8 100755 (executable)
@@ -216,7 +216,6 @@ static int __media_db_make_query(filter_h filter, attribute_h attr, char *select
 
                        SAFE_STRLCAT(bracket_added_condition, QUERY_KEYWORD_OPEN_BRACKET, sizeof(bracket_added_condition));
                        SAFE_STRLCAT(bracket_added_condition, _filter->condition, sizeof(bracket_added_condition));
-                       SAFE_STRLCAT(bracket_added_condition, QUERY_KEYWORD_BRACKET, sizeof(bracket_added_condition));
 
                        ret = _media_filter_attribute_generate(attr, bracket_added_condition, _filter->condition_collate_type, condition_query);
                        media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
index 0197deb..451e5c3 100755 (executable)
@@ -752,6 +752,9 @@ int _media_filter_attribute_generate(attribute_h attr, char *condition, media_co
                SAFE_STRLCAT(*generated_condition, SPACE, size);
        }
 
+       /* Always close in here (condition collate option issue)*/
+       SAFE_STRLCAT(*generated_condition, QUERY_KEYWORD_BRACKET, size);
+
        /* media_content_debug("statement : %s(%d) (total:%d)", *generated_condition, strlen(*generated_condition), total_str_size); */
        media_content_sec_debug("Condition : %s", *generated_condition);