Modify create_db script. 12/41912/2 accepted/tizen/mobile/20150622.063023 accepted/tizen/tv/20150622.063041 accepted/tizen/wearable/20150622.063051 submit/tizen/20150622.044421
authorMinje Ahn <minje.ahn@samsung.com>
Fri, 19 Jun 2015 06:33:09 +0000 (15:33 +0900)
committerMinje Ahn <minje.ahn@samsung.com>
Fri, 19 Jun 2015 06:41:08 +0000 (15:41 +0900)
Change-Id: I68b325dc2a88fbe55c1aad2454dfe10c9dff5581
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
packaging/media-data-sdk_create_db.sh

index fdde8ff..bb2ef49 100644 (file)
@@ -8,66 +8,41 @@ mkdir -p  $TZ_SYS_DATA
 #Create DB file
 sqlite3 ${TZ_SYS_DB}/.media.db 'PRAGMA journal_mode = PERSIST;
 
-       CREATE TABLE IF NOT EXISTS album (album_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, artist TEXT, album_art TEXT, unique(name, artist));
-       CREATE TABLE IF NOT EXISTS bookmark (bookmark_id INTEGER PRIMARY KEY AUTOINCREMENT, media_uuid TEXT NOT NULL, marked_time INTEGER DEFAULT 0, thumbnail_path  TEXT, unique(media_uuid, marked_time));
-       CREATE TABLE IF NOT EXISTS folder (folder_uuid TEXT PRIMARY KEY, path TEXT NOT NULL UNIQUE, name TEXT NOT NULL, modified_time INTEGER DEFAULT 0, storage_type INTEGER, unique(path, name, storage_type));
-       CREATE TABLE IF NOT EXISTS media (media_uuid TEXT PRIMARY KEY, path TEXT NOT NULL UNIQUE, file_name TEXT NOT NULL, media_type INTEGER, mime_type TEXT, size INTEGER DEFAULT 0, added_time INTEGER DEFAULT 0, modified_time INTEGER DEFAULT 0, folder_uuid TEXT NOT NULL, thumbnail_path TEXT, title TEXT, album_id INTEGER DEFAULT 0, album TEXT, artist TEXT, genre TEXT, composer TEXT, year TEXT, recorded_date TEXT, copyright TEXT, track_num TEXT, description TEXT, bitrate INTEGER DEFAULT -1, samplerate INTEGER DEFAULT -1, channel INTEGER DEFAULT -1, duration INTEGER DEFAULT -1, longitude DOUBLE DEFAULT 0, latitude DOUBLE DEFAULT 0, altitude DOUBLE DEFAULT 0, width INTEGER DEFAULT -1, height INTEGER DEFAULT -1, datetaken TEXT, orientation INTEGER DEFAULT -1, burst_id TEXT, played_count INTEGER DEFAULT 0, last_played_time INTEGER DEFAULT 0, last_played_position INTEGER DEFAULT 0, rating INTEGER DEFAULT 0, favourite INTEGER DEFAULT 0, author TEXT, provider TEXT, content_name TEXT, category TEXT, location_tag TEXT, age_rating TEXT, keyword TEXT, is_drm INTEGER DEFAULT 0, storage_type INTEGER, validity INTEGER DEFAULT 1, unique(path, file_name) );
-       CREATE TABLE IF NOT EXISTS playlist ( playlist_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL UNIQUE, thumbnail_path TEXT );
-       CREATE TABLE IF NOT EXISTS playlist_map ( _id INTEGER PRIMARY KEY AUTOINCREMENT, playlist_id INTEGER NOT NULL, media_uuid TEXT NOT NULL, play_order INTEGER NOT NULL );
-       CREATE TABLE IF NOT EXISTS tag ( tag_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL UNIQUE );
-       CREATE TABLE IF NOT EXISTS tag_map ( _id INTEGER PRIMARY KEY AUTOINCREMENT, tag_id INTEGER NOT NULL, media_uuid TEXT NOT NULL, unique(tag_id, media_uuid) );
-       CREATE INDEX folder_folder_uuid_idx on folder (folder_uuid);
-       CREATE INDEX folder_uuid_idx on media (folder_uuid);
-       CREATE INDEX media_album_idx on media (album);
-       CREATE INDEX media_artist_idx on media (artist);
-       CREATE INDEX media_author_idx on media (author);
-       CREATE INDEX media_category_idx on media (category);
-       CREATE INDEX media_composer_idx on media (composer);
-       CREATE INDEX media_content_name_idx on media (content_name);
-       CREATE INDEX media_file_name_idx on media (file_name);
-       CREATE INDEX media_genre_idx on media (genre);
-       CREATE INDEX media_location_tag_idx on media (location_tag);
-       CREATE INDEX media_media_type_idx on media (media_type);
-       CREATE INDEX media_media_uuid_idx on media (media_uuid);
-       CREATE INDEX media_modified_time_idx on media (modified_time);
-       CREATE INDEX media_path_idx on media (path);
-       CREATE INDEX media_provider_idx on media (provider);
-       CREATE INDEX media_title_idx on media (title);
-
-       CREATE VIEW IF NOT EXISTS playlist_view AS
-       SELECT 
-       p.playlist_id, p.name, p.thumbnail_path, media_count, pm._id as pm_id, pm.play_order, m.media_uuid, path, file_name, media_type, mime_type, size, added_time, modified_time, m.thumbnail_path, description, rating, favourite, author, provider, content_name, category, location_tag, age_rating, keyword, is_drm, storage_type, longitude, latitude, altitude, width, height, datetaken, orientation, title, album, artist, genre, composer, year, recorded_date, copyright, track_num, bitrate, duration, played_count, last_played_time, last_played_position, samplerate, channel FROM playlist AS p 
-       INNER JOIN playlist_map AS pm 
-       INNER JOIN media AS m 
-       INNER JOIN (SELECT count(playlist_id) as media_count, playlist_id FROM playlist_map group by playlist_id) as cnt_tbl
-               ON (p.playlist_id=pm.playlist_id AND pm.media_uuid = m.media_uuid AND cnt_tbl.playlist_id=pm.playlist_id AND m.validity=1)
-       UNION
-       SELECT 
-               playlist_id, name, thumbnail_path, 0, 0, -1, NULL, NULL, -1, -1, -1, -1, -1, NULL, NULL, -1, -1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, -1, -1, -1, -1, -1, -1, -1, -1, -1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, -1, -1, -1, -1, -1, -1, NULL, -1 FROM playlist 
-       WHERE playlist_id 
-       NOT IN (select playlist_id from playlist_map);
-
-       CREATE VIEW IF NOT EXISTS tag_view AS
-       SELECT 
-       t.tag_id, t.name, media_count, tm._id as tm_id, m.media_uuid, path, file_name, media_type, mime_type, size, added_time, modified_time, thumbnail_path, description, rating, favourite, author, provider, content_name, category, location_tag, age_rating, keyword, is_drm, storage_type, longitude, latitude, altitude, width, height, datetaken, orientation, title, album, artist, genre, composer, year, recorded_date, copyright, track_num, bitrate, duration, played_count, last_played_time, last_played_position, samplerate, channel FROM tag AS t 
-       INNER JOIN tag_map AS tm 
-       INNER JOIN media AS m 
-       INNER JOIN (SELECT count(tag_id) as media_count, tag_id FROM tag_map group by tag_id) as cnt_tbl
-               ON (t.tag_id=tm.tag_id AND tm.media_uuid = m.media_uuid AND cnt_tbl.tag_id=tm.tag_id AND m.validity=1)
-       UNION
-       SELECT 
-               tag_id, name, 0, 0,  NULL, NULL, -1, -1, -1, -1, -1, NULL, NULL, -1, -1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, -1, -1, -1, -1, -1, -1, -1, -1, -1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, -1, -1, -1, -1, -1, -1, NULL, -1 FROM tag 
-       WHERE tag_id 
-       NOT IN (select tag_id from tag_map); 
-
-       CREATE TRIGGER album_cleanup DELETE ON media BEGIN DELETE FROM album WHERE (SELECT count(*) FROM media WHERE album_id=old.album_id)=1 AND album_id=old.album_id;END;
-       CREATE TRIGGER bookmark_cleanup DELETE ON media BEGIN DELETE FROM bookmark WHERE media_uuid=old.media_uuid;END;
-       CREATE TRIGGER folder_cleanup DELETE ON media BEGIN DELETE FROM folder WHERE (SELECT count(*) FROM media WHERE folder_uuid=old.folder_uuid)=1 AND folder_uuid=old.folder_uuid;END;
-       CREATE TRIGGER playlist_map_cleanup DELETE ON media BEGIN DELETE FROM playlist_map WHERE media_uuid=old.media_uuid;END;
-       CREATE TRIGGER playlist_map_cleanup_1 DELETE ON playlist BEGIN DELETE FROM playlist_map WHERE playlist_id=old.playlist_id;END;
-       CREATE TRIGGER tag_map_cleanup DELETE ON media BEGIN DELETE FROM tag_map WHERE media_uuid=old.media_uuid;END;
-       CREATE TRIGGER tag_map_cleanup_1 DELETE ON tag BEGIN DELETE FROM tag_map WHERE tag_id=old.tag_id;END;
-       INSERT INTO media VALUES("60aea677-4742-408e-b5f7-f2628062d06d","@TZ_SYS_DATA@/data-media/Images/Default.jpg","Default.jpg",0,"image/jpeg",632118,3023047,1337008628,"baeb79e5-a9da-4667-aeaf-6b98830e4ce8","@TZ_SYS_DATA@/file-manager-service/.thumb/phone/.jpg-a19569ad296e9655d1fbf216f195f801.jpg","Default",0,"Unknown","Unknown","Unknown","Unknown","Unknown",NULL,"Unknown","Unknown","Unknown",0,0,0,0,-200.0,-200.0,-200.0,720,280,"2011:10:20 18:41:26",1,NULL,0,0,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1);
+    CREATE TABLE IF NOT EXISTS album (album_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, artist TEXT, album_art TEXT);
+    CREATE TABLE IF NOT EXISTS bookmark (bookmark_id INTEGER PRIMARY KEY AUTOINCREMENT, media_uuid TEXT NOT NULL, marked_time INTEGER DEFAULT 0, thumbnail_path TEXT, unique(media_uuid, marked_time));
+    CREATE TABLE IF NOT EXISTS folder (folder_uuid TEXT PRIMARY KEY, path TEXT NOT NULL, name TEXT NOT NULL, modified_time INTEGER DEFAULT 0, name_pinyin TEXT, storage_type INTEGER, folder_order INTEGER DEFAULT 0, parent_folder_uuid TEXT, validity INTEGER DEFAULT 1, unique(path, name));
+    CREATE TABLE IF NOT EXISTS media (media_uuid TEXT PRIMARY KEY, path TEXT NOT NULL UNIQUE, file_name TEXT NOT NULL, media_type INTEGER, mime_type TEXT, size INTEGER DEFAULT 0, added_time INTEGER DEFAULT 0, modified_time INTEGER DEFAULT 0, folder_uuid TEXT NOT NULL, thumbnail_path TEXT, title TEXT, album_id INTEGER DEFAULT 0, album TEXT, artist TEXT, album_artist TEXT, genre TEXT, composer TEXT, year TEXT, recorded_date TEXT, copyright TEXT, track_num TEXT, description TEXT, bitrate INTEGER DEFAULT -1, bitpersample INTEGER DEFAULT 0, samplerate INTEGER DEFAULT -1, channel INTEGER DEFAULT -1, duration INTEGER DEFAULT -1, longitude DOUBLE DEFAULT 0, latitude DOUBLE DEFAULT 0, altitude DOUBLE DEFAULT 0, exposure_time TEXT, fnumber DOUBLE DEFAULT 0, iso INTEGER DEFAULT -1, model TEXT, width INTEGER DEFAULT -1, height INTEGER DEFAULT -1, datetaken TEXT, orientation INTEGER DEFAULT -1, burst_id TEXT, played_count INTEGER DEFAULT 0, last_played_time INTEGER DEFAULT 0, last_played_position INTEGER DEFAULT 0, rating INTEGER DEFAULT 0, favourite INTEGER DEFAULT 0, author TEXT, provider TEXT, content_name TEXT, category TEXT, location_tag TEXT, age_rating TEXT, keyword TEXT, is_drm INTEGER DEFAULT 0, storage_type INTEGER, timeline INTEGER DEFAULT 0, weather TEXT, sync_status INTEGER DEFAULT 0, file_name_pinyin TEXT, title_pinyin TEXT, album_pinyin TEXT, artist_pinyin TEXT, album_artist_pinyin TEXT, genre_pinyin TEXT, composer_pinyin TEXT, copyright_pinyin TEXT, description_pinyin TEXT, author_pinyin TEXT, provider_pinyin TEXT, content_name_pinyin TEXT, category_pinyin TEXT, location_tag_pinyin TEXT, age_rating_pinyin TEXT, keyword_pinyin TEXT, storage_uuid TEXT, validity INTEGER DEFAULT 1, unique(path, file_name));
+    CREATE TABLE IF NOT EXISTS playlist (playlist_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL UNIQUE, name_pinyin TEXT, thumbnail_path TEXT);
+    CREATE TABLE IF NOT EXISTS playlist_map (_id INTEGER PRIMARY KEY AUTOINCREMENT, playlist_id INTEGER NOT NULL, media_uuid TEXT NOT NULL, play_order INTEGER NOT NULL);
+    CREATE TABLE IF NOT EXISTS storage (storage_uuid TEXT PRIMARY KEY, storage_name TEXT, storage_path TEXT NOT NULL, storage_account TEXT, storage_type INTEGER DEFAULT 0, scan_status INTEGER DEFAULT 0, validity INTEGER DEFAULT 1, unique(storage_name, storage_path, storage_account));
+    CREATE TABLE IF NOT EXISTS tag (tag_id  INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL UNIQUE, name_pinyin TEXT);
+    CREATE TABLE IF NOT EXISTS tag_map (_id INTEGER PRIMARY KEY AUTOINCREMENT, tag_id INTEGER NOT NULL, media_uuid TEXT NOT NULL, unique(tag_id, media_uuid));
+    CREATE VIEW IF NOT EXISTS media_view AS SELECT * from media;
+    CREATE VIEW IF NOT EXISTS playlist_view AS SELECT playlist.playlist_id, playlist.name, playlist.thumbnail_path AS p_thumbnail_path, media_count IS NOT NULL AS media_count, playlist_map._id AS pm_id, playlist_map.play_order, media.media_uuid, media.path, media.file_name, media.media_type, media.mime_type, media.size, media.added_time, media.modified_time, media.thumbnail_path, media.title, media.album, media.artist, media.album_artist, media.genre, media.composer, media.year, media.recorded_date, media.copyright, media.track_num, media.description, media.bitrate, media.bitpersample, media.samplerate, media.channel, media.duration, media.longitude, media.latitude, media.altitude, media.exposure_time, media.fnumber, media.iso, media.model, media.width, media.height, media.datetaken, media.orientation, media.burst_id, media.played_count, media.last_played_time, media.last_played_position, media.rating, media.favourite, media.author, media.provider, media.content_name, media.category, media.location_tag, media.age_rating, media.keyword, media.is_drm, media.storage_type, media.timeline, media.weather, media.sync_status, media.storage_uuid FROM playlist                                      LEFT OUTER JOIN playlist_map ON playlist.playlist_id = playlist_map.playlist_id                 LEFT OUTER JOIN media ON (playlist_map.media_uuid = media.media_uuid AND media.validity=1)      LEFT OUTER JOIN (SELECT count(playlist_id) as media_count, playlist_id FROM playlist_map group by playlist_id) as cnt_tbl ON (cnt_tbl.playlist_id=playlist_map.playlist_id AND media.validity=1);
+    CREATE VIEW IF NOT EXISTS tag_view AS SELECT tag.tag_id , tag.name, media_count IS NOT NULL AS media_count, tag_map._id AS tm_id, media.media_uuid, media.path, media.file_name, media.media_type, media.mime_type, media.size, media.added_time, media.modified_time, media.thumbnail_path, media.title, media.album, media.artist, media.album_artist, media.genre, media.composer, media.year, media.recorded_date, media.copyright, media.track_num, media.description, media.bitrate, media.bitpersample, media.samplerate, media.channel, media.duration, media.longitude, media.latitude, media.altitude, media.exposure_time, media.fnumber, media.iso, media.model, media.width, media.height, media.datetaken, media.orientation, media.burst_id, media.played_count, media.last_played_time, media.last_played_position, media.rating, media.favourite, media.author, media.provider, media.content_name, media.category, media.location_tag, media.age_rating, media.keyword, media.is_drm, media.storage_type, media.timeline, media.weather, media.sync_status, media.storage_uuid FROM tag                                     LEFT OUTER JOIN tag_map ON tag.tag_id=tag_map.tag_id                            LEFT OUTER JOIN media ON (tag_map.media_uuid = media.media_uuid AND media.validity=1)           LEFT OUTER JOIN (SELECT count(tag_id) as media_count, tag_id FROM tag_map group by tag_id) as cnt_tbl ON (cnt_tbl.tag_id=tag_map.tag_id AND media.validity=1);
+    CREATE INDEX folder_uuid_idx on media (folder_uuid);
+    CREATE INDEX media_album_idx on media (album);
+    CREATE INDEX media_artist_idx on media (artist);
+    CREATE INDEX media_author_idx on media (author);
+    CREATE INDEX media_category_idx on media (category);
+    CREATE INDEX media_composer_idx on media (composer);
+    CREATE INDEX media_content_name_idx on media (content_name);
+    CREATE INDEX media_file_name_idx on media (file_name);
+    CREATE INDEX media_genre_idx on media (genre);
+    CREATE INDEX media_location_tag_idx on media (location_tag);
+    CREATE INDEX media_media_type_idx on media (media_type);
+    CREATE INDEX media_modified_time_idx on media (modified_time);
+    CREATE INDEX media_provider_idx on media (provider);
+    CREATE INDEX media_timeline_idx on media (timeline);
+    CREATE INDEX media_title_idx on media (title);
+    CREATE TRIGGER album_cleanup DELETE ON media BEGIN DELETE FROM album WHERE (SELECT count(*) FROM media WHERE album_id=old.album_id)=1 AND album_id=old.album_id;END;
+    CREATE TRIGGER bookmark_cleanup DELETE ON media BEGIN DELETE FROM bookmark WHERE media_uuid=old.media_uuid;END;
+    CREATE TRIGGER playlist_map_cleanup DELETE ON media BEGIN DELETE FROM playlist_map WHERE media_uuid=old.media_uuid;END;
+    CREATE TRIGGER playlist_map_cleanup_1 DELETE ON playlist BEGIN DELETE FROM playlist_map WHERE playlist_id=old.playlist_id;END;
+    CREATE TRIGGER storage_folder_cleanup DELETE ON storage BEGIN DELETE FROM folder WHERE storage_uuid=old.storage_uuid;END;
+    CREATE TRIGGER tag_map_cleanup DELETE ON media BEGIN DELETE FROM tag_map WHERE media_uuid=old.media_uuid;END;
+    CREATE TRIGGER tag_map_cleanup_1 DELETE ON tag BEGIN DELETE FROM tag_map WHERE tag_id =old.tag_id ;END;
+    INSERT INTO media VALUES("60aea677-4742-408e-b5f7-f2628062d06d","@TZ_SYS_DATA@/data-media/Images/Default.jpg","Default.jpg",0,"image/jpeg",632118,3023047,1337008628,"baeb79e5-a9da-4667-aeaf-6b98830e4ce8","@TZ_SYS_DATA@/file-manager-service/.thumb/phone/.jpg-a19569ad296e9655d1fbf216f195f801.jpg","Default",0,"Unknown","Unknown","Unknown","Unknown","Unknown",NULL,"Unknown","Unknown","Unknown",0,0,0,0,-200.0,-200.0,-200.0,720,280,"2011:10:20 18:41:26",1,NULL,0,0,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1);
        INSERT INTO media VALUES("84b3a64a-51ef-4b3a-bbaa-c527fbbcfa42","@TZ_SYS_DATA@/data-media/Images/data-media/Images/image1.jpg","image1.jpg",0,"image/jpeg",751750,3023268,1337008628,"baeb79e5-a9da-4667-aeaf-6b98830e4ce8","@TZ_SYS_DATA@/file-manager-service/.thumb/phone/.jpg-f5052c8428c4a22231d6ece0c63b74bd.jpg","image1",0,"Unknown","Unknown","Unknown","Unknown","Unknown",NULL,"Unknown","Unknown","Unknown",0,0,0,0,-200.0,-200.0,-200.0,1280,720,"2012:02:08 15:59:47",1,NULL,0,0,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1);
        INSERT INTO media VALUES("51d282b7-06d7-4bce-aebc-59e46b15f7e7","@TZ_SYS_DATA@/data-media/Images/image13.jpg","image13.jpg",0,"image/jpeg",549310,3023473,1337008628,"baeb79e5-a9da-4667-aeaf-6b98830e4ce8","@TZ_SYS_DATA@/file-manager-service/.thumb/phone/.jpg-825ded447a3ce04d14d737f93d7cee26.jpg","image13",0,"Unknown","Unknown","Unknown","Unknown","Unknown",NULL,"Unknown","Unknown","Unknown",0,0,0,0,-200.0,-200.0,-200.0,1280,720,"2012:02:07 14:59:11",1,NULL,0,0,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1);
        INSERT INTO media VALUES("dd6d7c0b-273d-47f5-8a37-30ebac9ac3a3","@TZ_SYS_DATA@/data-media/Images/image4.jpg","image4.jpg",0,"image/jpeg",609139,3023702,1337008628,"baeb79e5-a9da-4667-aeaf-6b98830e4ce8","@TZ_SYS_DATA@/file-manager-service/.thumb/phone/.jpg-8ea059905f24eea065a7998dc5ff1f7e.jpg","image4",0,"Unknown","Unknown","Unknown","Unknown","Unknown",NULL,"Unknown","Unknown","                               ",0,0,0,0,-200.0,-200.0,-200.0,1280,720,"2012:02:07 14:44:45",1,NULL,0,0,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1);