Create thumbnail table 69/96669/4
authorIryna Ferenchak <i.ferenchak@samsung.com>
Wed, 9 Nov 2016 16:28:03 +0000 (18:28 +0200)
committerAleksandr Sapozhnik <a.sapozhnik@samsung.com>
Tue, 15 Nov 2016 13:48:17 +0000 (05:48 -0800)
Change-Id: I40586dfc07812ff9a33008ffcdefcd0659c88002
Signed-off-by: Iryna Ferenchak <i.ferenchak@samsung.com>
lib-common/inc/Common/Model/DataBasePath.h
memo-svc/src/Service/DataProvider.cpp

index 78b31484a8353a9b101a711ae1729a00411343da..fb82f851bf94e2164f5c32ab962f7f29c49a6cce 100644 (file)
@@ -20,6 +20,7 @@
 #define TABLE_MEMOS              "memos"
 #define TABLE_SOUNDS             "sounds"
 #define TABLE_IMAGES             "images"
+#define TABLE_THUMBNAIL          "thumbnail"
 
 #define COLUMN_MEMO_ID           "id"
 #define COLUMN_MEMO_TEXT         "text"
 #define SOUND_TO_REMOVE          "sound_to_remove"
 #define SOUND_TO_SAVE            "sound_to_save"
 
-#define COLUMN_THUMBNAIL_PATH    "thumbnail_path"
 #define COLUMN_THUMBNAIL_ID      "thumbnail_id"
+#define COLUMN_THUMBNAIL_PATH    "thumbnail_path"
+#define COLUMN_THUMBNAIL_INDEX   "thumbnail_index"
+#define COLUMN_THUMBNAIL_MEMO_ID "thumbnail_memo_index"
 
 #define COLUMN_IMAGE_ID          "image_id"
 #define COLUMN_IMAGE_PATH        "image_path"
index edd82b4342449028ce6a97c18f810d1df6ac8005..e98d9b2afb35d3ea0b23250bf7dccad4fed86612 100644 (file)
@@ -55,9 +55,14 @@ namespace
                COLUMN_MEMO_TEXT        " TEXT, "
                COLUMN_MEMO_COLOR       " INTEGER, "
                COLUMN_MEMO_PINNED      " INTEGER, "
-               COLUMN_MEMO_TIME        " INTEGER, "
-               COLUMN_THUMBNAIL_PATH   " TEXT DEFAULT '', "
-               COLUMN_THUMBNAIL_ID     " INTEGER DEFAULT -1); "
+               COLUMN_MEMO_TIME        " INTEGER ); "
+
+               "CREATE TABLE " TABLE_THUMBNAIL "("
+               COLUMN_THUMBNAIL_ID        " INTEGER PRIMARY KEY AUTOINCREMENT, "
+               COLUMN_THUMBNAIL_INDEX     " INTEGER DEFAULT -1, "
+               COLUMN_THUMBNAIL_PATH      " TEXT DEFAULT '', "
+               COLUMN_THUMBNAIL_MEMO_ID   " INTEGER, "
+               "FOREIGN KEY(" COLUMN_THUMBNAIL_MEMO_ID ") REFERENCES " TABLE_MEMOS "(" COLUMN_MEMO_ID ") ON DELETE CASCADE );"
 
                "CREATE TABLE " TABLE_IMAGES "("
                COLUMN_IMAGE_ID         " INTEGER PRIMARY KEY AUTOINCREMENT, "
@@ -80,10 +85,12 @@ namespace
                COLUMN_MEMO_COLOR              ", "
                COLUMN_MEMO_PINNED             ", "
                COLUMN_MEMO_TIME               ", "
-               COLUMN_THUMBNAIL_PATH          ", "
+               TABLE_THUMBNAIL "." COLUMN_THUMBNAIL_PATH          ", "
                TABLE_SOUNDS "." COLUMN_SOUND_PATH ", "
                "GROUP_CONCAT((" COLUMN_IMAGE_INDEX " || '" IMAGE_PAIRS_SEPARATOR "' || " COLUMN_IMAGE_PATH "), '" IMAGE_POSITION_SEPARATOR "' ) AS " COLUMN_ALL_IMAGE_PATH
                " FROM " TABLE_MEMOS
+               " LEFT JOIN " TABLE_THUMBNAIL
+               " ON " TABLE_THUMBNAIL "." COLUMN_THUMBNAIL_MEMO_ID " = " TABLE_MEMOS "." COLUMN_MEMO_ID
                " LEFT JOIN " TABLE_IMAGES
                " ON " TABLE_IMAGES "." COLUMN_IMAGE_MEMO_ID " = " TABLE_MEMOS "." COLUMN_MEMO_ID
                " LEFT JOIN " TABLE_SOUNDS
@@ -98,10 +105,12 @@ namespace
                COLUMN_MEMO_COLOR              ", "
                COLUMN_MEMO_PINNED             ", "
                COLUMN_MEMO_TIME               ", "
-               COLUMN_THUMBNAIL_PATH          ", "
+               TABLE_THUMBNAIL "." COLUMN_THUMBNAIL_PATH          ", "
                TABLE_SOUNDS "." COLUMN_SOUND_PATH ", "
                "GROUP_CONCAT((" COLUMN_IMAGE_INDEX " || '" IMAGE_PAIRS_SEPARATOR "' || " COLUMN_IMAGE_PATH "), '" IMAGE_POSITION_SEPARATOR "' ) AS " COLUMN_ALL_IMAGE_PATH
                " FROM " TABLE_MEMOS
+               " LEFT JOIN " TABLE_THUMBNAIL
+               " ON " TABLE_THUMBNAIL "." COLUMN_THUMBNAIL_MEMO_ID " = " TABLE_MEMOS "." COLUMN_MEMO_ID
                " LEFT JOIN " TABLE_IMAGES
                " ON " TABLE_IMAGES "." COLUMN_IMAGE_MEMO_ID " = " TABLE_MEMOS "." COLUMN_MEMO_ID
                " LEFT JOIN " TABLE_SOUNDS
@@ -117,8 +126,8 @@ namespace
                " WHERE " COLUMN_SOUND_MEMO_ID " = ?";
 
        const char selectThumbnailStmt[] = "SELECT "
-               COLUMN_THUMBNAIL_PATH " FROM " TABLE_MEMOS
-               " WHERE " COLUMN_MEMO_ID " = ?";
+               COLUMN_THUMBNAIL_PATH " FROM " TABLE_THUMBNAIL
+               " WHERE " COLUMN_THUMBNAIL_MEMO_ID " = ?";
 
        const char selectImageByIndex[] = "SELECT "
                COLUMN_IMAGE_PATH " FROM " TABLE_IMAGES
@@ -150,10 +159,10 @@ namespace
                COLUMN_SOUND_PATH       ", "
                COLUMN_SOUND_MEMO_ID    ") VALUES (?, ?);";
 
-       const char insertThumbnail[] = "UPDATE " TABLE_MEMOS " SET "
-               COLUMN_THUMBNAIL_PATH       " = ?, "
-               COLUMN_THUMBNAIL_ID         " = ? "
-               " WHERE " COLUMN_MEMO_ID    " = ?;";
+       const char insertThumbnail[] = "INSERT INTO " TABLE_THUMBNAIL " ("
+               COLUMN_THUMBNAIL_PATH       ", "
+               COLUMN_THUMBNAIL_INDEX      ", "
+               COLUMN_THUMBNAIL_MEMO_ID    ") VALUES (?, ?, ?);";
 
        /************************** Delete statements *******************************/
        const char deleteMemo[] = "DELETE FROM " TABLE_MEMOS