diff options
author | Minje Ahn <minje.ahn@samsung.com> | 2019-05-07 14:37:05 +0900 |
---|---|---|
committer | Minje Ahn <minje.ahn@samsung.com> | 2019-05-07 14:52:35 +0900 |
commit | cc13d7d0266221002964bf149ee810a542f5e06a (patch) | |
tree | f3182139a4668d4d49e6a490d7a7f4272aa409c8 | |
parent | 9fc97c52fd60e99d1d56c955f193483f3e3a8c39 (diff) | |
download | libmedia-service-cc13d7d0266221002964bf149ee810a542f5e06a.tar.gz libmedia-service-cc13d7d0266221002964bf149ee810a542f5e06a.tar.bz2 libmedia-service-cc13d7d0266221002964bf149ee810a542f5e06a.zip |
Upgrade media.db 7 to 8submit/tizen/20190508.054311accepted/tizen/unified/20190508.234049
Change-Id: If06c149814c7f75e0b4416c13ee3dd8502330f72
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
-rw-r--r-- | packaging/libmedia-service.spec | 2 | ||||
-rwxr-xr-x | src/common/media-svc-db-utils.c | 263 | ||||
-rwxr-xr-x | src/include/common/media-svc-env.h | 3 |
3 files changed, 255 insertions, 13 deletions
diff --git a/packaging/libmedia-service.spec b/packaging/libmedia-service.spec index 6a6ee7a..d82f8c3 100644 --- a/packaging/libmedia-service.spec +++ b/packaging/libmedia-service.spec @@ -1,6 +1,6 @@ Name: libmedia-service Summary: Media information service library for multimedia applications -Version: 0.4.1 +Version: 0.4.2 Release: 0 Group: Multimedia/Libraries License: Apache-2.0 and PD diff --git a/src/common/media-svc-db-utils.c b/src/common/media-svc-db-utils.c index 0e20c26..adde488 100755 --- a/src/common/media-svc-db-utils.c +++ b/src/common/media-svc-db-utils.c @@ -1230,15 +1230,15 @@ static int __media_svc_db_upgrade(sqlite3 *db_handle, int cur_version, uid_t uid /* remove "scan_status", "storage_name" column */ sql = sqlite3_mprintf("ALTER TABLE %q RENAME TO %q;", MEDIA_SVC_DB_TABLE_STORAGE, MEDIA_SVC_DB_TABLE_TMP_TABLE); if (sql == NULL) { - media_svc_error("Query creation failed"); - ret = MS_MEDIA_ERR_OUT_OF_MEMORY; + media_svc_error("Query creation failed"); + ret = MS_MEDIA_ERR_OUT_OF_MEMORY; goto ERROR; } ret = _media_svc_sql_query(sql, uid); SQLITE3_SAFE_FREE(sql); if (ret != MS_MEDIA_ERR_NONE) { - media_svc_error("_media_svc_sql_query failed"); + media_svc_error("_media_svc_sql_query failed"); goto ERROR; } @@ -1250,29 +1250,270 @@ static int __media_svc_db_upgrade(sqlite3 *db_handle, int cur_version, uid_t uid sql = sqlite3_mprintf("INSERT INTO %q (storage_uuid, storage_path, storage_type, validity) SELECT storage_uuid, storage_path, storage_type, validity FROM %q;", MEDIA_SVC_DB_TABLE_STORAGE, MEDIA_SVC_DB_TABLE_TMP_TABLE); if (sql == NULL) { - media_svc_error("Query creation failed"); - ret = MS_MEDIA_ERR_OUT_OF_MEMORY; + media_svc_error("Query creation failed"); + ret = MS_MEDIA_ERR_OUT_OF_MEMORY; goto ERROR; } ret = _media_svc_sql_query(sql, uid); SQLITE3_SAFE_FREE(sql); if (ret != MS_MEDIA_ERR_NONE) { - media_svc_error("_media_svc_sql_query failed"); + media_svc_error("_media_svc_sql_query failed"); goto ERROR; } sql = sqlite3_mprintf("DROP TABLE %q;", MEDIA_SVC_DB_TABLE_TMP_TABLE); if (sql == NULL) { - media_svc_error("Query creation failed"); - ret = MS_MEDIA_ERR_OUT_OF_MEMORY; + media_svc_error("Query creation failed"); + ret = MS_MEDIA_ERR_OUT_OF_MEMORY; goto ERROR; } ret = _media_svc_sql_query(sql, uid); SQLITE3_SAFE_FREE(sql); if (ret != MS_MEDIA_ERR_NONE) { - media_svc_error("_media_svc_sql_query failed"); + media_svc_error("_media_svc_sql_query failed"); + goto ERROR; + } + } + + /* Upgrade issue tizen 5.0 to 5.5 */ + if (cur_version < USER_V8) { + /*Drop view first*/ + sql = sqlite3_mprintf("DROP VIEW IF EXISTS %q;DROP VIEW IF EXISTS %q;DROP VIEW IF EXISTS %q", + MEDIA_SVC_DB_VIEW_PLAYLIST, MEDIA_SVC_DB_VIEW_TAG, MEDIA_SVC_DB_VIEW_MEDIA); + if (sql == NULL) { + media_svc_error("Query creation failed"); + ret = MS_MEDIA_ERR_OUT_OF_MEMORY; + goto ERROR; + } + + ret = _media_svc_sql_query(sql, uid); + SQLITE3_SAFE_FREE(sql); + if (ret != MS_MEDIA_ERR_NONE) { + media_svc_error("_media_svc_sql_query failed"); + goto ERROR; + } + + /*playlist */ + sql = sqlite3_mprintf("ALTER TABLE %q RENAME COLUMN play_order TO playlist_member_order;\ + ALTER TABLE %q RENAME COLUMN name TO playlist_name;\ + ALTER TABLE %q RENAME COLUMN media_uuid TO media_id;", + MEDIA_SVC_DB_TABLE_PLAYLIST_MAP, MEDIA_SVC_DB_TABLE_PLAYLIST, MEDIA_SVC_DB_TABLE_PLAYLIST_MAP); + if (sql == NULL) { + media_svc_error("Query creation failed"); + ret = MS_MEDIA_ERR_OUT_OF_MEMORY; + goto ERROR; + } + + ret = _media_svc_sql_query(sql, uid); + SQLITE3_SAFE_FREE(sql); + if (ret != MS_MEDIA_ERR_NONE) { + media_svc_error("_media_svc_sql_query failed"); + goto ERROR; + } + + /*tag */ + sql = sqlite3_mprintf("ALTER TABLE %q RENAME COLUMN name TO tag_name;\ + ALTER TABLE %q RENAME COLUMN media_uuid TO media_id;", + MEDIA_SVC_DB_TABLE_TAG, MEDIA_SVC_DB_TABLE_TAG_MAP); + if (sql == NULL) { + media_svc_error("Query creation failed"); + ret = MS_MEDIA_ERR_OUT_OF_MEMORY; + goto ERROR; + } + + ret = _media_svc_sql_query(sql, uid); + SQLITE3_SAFE_FREE(sql); + if (ret != MS_MEDIA_ERR_NONE) { + media_svc_error("_media_svc_sql_query failed"); + goto ERROR; + } + + /*face */ + sql = sqlite3_mprintf("ALTER TABLE %q RENAME COLUMN face_id TO media_face_id;\ + ALTER TABLE %q RENAME COLUMN orientation TO face_orientation;\ + ALTER TABLE %q RENAME COLUMN face_tag TO media_face_tag;\ + ALTER TABLE %q RENAME COLUMN media_uuid TO media_id;\ + ALTER TABLE %q RENAME COLUMN media_uuid TO media_id;", + MEDIA_SVC_DB_TABLE_FACE, MEDIA_SVC_DB_TABLE_FACE, MEDIA_SVC_DB_TABLE_FACE, + MEDIA_SVC_DB_TABLE_FACE_SCAN_LIST, MEDIA_SVC_DB_TABLE_FACE); + if (sql == NULL) { + media_svc_error("Query creation failed"); + ret = MS_MEDIA_ERR_OUT_OF_MEMORY; + goto ERROR; + } + + ret = _media_svc_sql_query(sql, uid); + SQLITE3_SAFE_FREE(sql); + if (ret != MS_MEDIA_ERR_NONE) { + media_svc_error("_media_svc_sql_query failed"); + goto ERROR; + } + + /*bookmark */ + sql = sqlite3_mprintf("ALTER TABLE %q RENAME COLUMN marked_time TO bookmark_marked_time;\ + ALTER TABLE %q RENAME COLUMN name TO bookmark_name;\ + ALTER TABLE %q RENAME COLUMN thumbnail_path TO bookmark_thumbnail_path;\ + ALTER TABLE %q RENAME COLUMN media_uuid TO media_id;", + MEDIA_SVC_DB_TABLE_BOOKMARK, MEDIA_SVC_DB_TABLE_BOOKMARK, + MEDIA_SVC_DB_TABLE_BOOKMARK, MEDIA_SVC_DB_TABLE_BOOKMARK); + if (sql == NULL) { + media_svc_error("Query creation failed"); + ret = MS_MEDIA_ERR_OUT_OF_MEMORY; + goto ERROR; + } + + ret = _media_svc_sql_query(sql, uid); + SQLITE3_SAFE_FREE(sql); + if (ret != MS_MEDIA_ERR_NONE) { + media_svc_error("_media_svc_sql_query failed"); + goto ERROR; + } + + /*folder */ + sql = sqlite3_mprintf("ALTER TABLE %q RENAME COLUMN modified_time TO folder_modified_time;\ + ALTER TABLE %q RENAME COLUMN path TO folder_path;\ + ALTER TABLE %q RENAME COLUMN name TO folder_name;\ + ALTER TABLE %q RENAME COLUMN name_pinyin TO folder_name_pinyin;\ + ALTER TABLE %q RENAME COLUMN storage_type TO folder_storage_type;\ + ALTER TABLE %q RENAME COLUMN folder_uuid TO folder_id;", + MEDIA_SVC_DB_TABLE_FOLDER, MEDIA_SVC_DB_TABLE_FOLDER, MEDIA_SVC_DB_TABLE_FOLDER, + MEDIA_SVC_DB_TABLE_FOLDER, MEDIA_SVC_DB_TABLE_FOLDER, MEDIA_SVC_DB_TABLE_FOLDER); + if (sql == NULL) { + media_svc_error("Query creation failed"); + ret = MS_MEDIA_ERR_OUT_OF_MEMORY; + goto ERROR; + } + + ret = _media_svc_sql_query(sql, uid); + SQLITE3_SAFE_FREE(sql); + if (ret != MS_MEDIA_ERR_NONE) { + media_svc_error("_media_svc_sql_query failed"); + goto ERROR; + } + + /*storage */ + sql = sqlite3_mprintf("ALTER TABLE %q RENAME COLUMN storage_uuid TO storage_id;", + MEDIA_SVC_DB_TABLE_STORAGE); + if (sql == NULL) { + media_svc_error("Query creation failed"); + ret = MS_MEDIA_ERR_OUT_OF_MEMORY; + goto ERROR; + } + + ret = _media_svc_sql_query(sql, uid); + SQLITE3_SAFE_FREE(sql); + if (ret != MS_MEDIA_ERR_NONE) { + media_svc_error("_media_svc_sql_query failed"); + goto ERROR; + } + + /*media */ + sql = sqlite3_mprintf("ALTER TABLE %q RENAME COLUMN file_name_pinyin TO media_file_name_pinyin;\ + ALTER TABLE %q RENAME COLUMN title_pinyin TO media_title_pinyin;\ + ALTER TABLE %q RENAME COLUMN album_pinyin TO media_album_pinyin;\ + ALTER TABLE %q RENAME COLUMN artist_pinyin TO media_artist_pinyin;\ + ALTER TABLE %q RENAME COLUMN album_artist_pinyin TO media_album_artist_pinyin;\ + ALTER TABLE %q RENAME COLUMN genre_pinyin TO media_genre_pinyin;\ + ALTER TABLE %q RENAME COLUMN composer_pinyin TO media_composer_pinyin;\ + ALTER TABLE %q RENAME COLUMN copyright_pinyin TO media_copyright_pinyin;\ + ALTER TABLE %q RENAME COLUMN description_pinyin TO media_description_pinyin;\ + ALTER TABLE %q RENAME COLUMN folder_uuid TO folder_id;\ + ALTER TABLE %q RENAME COLUMN media_uuid TO media_id;\ + ALTER TABLE %q RENAME COLUMN path TO media_path;\ + ALTER TABLE %q RENAME COLUMN file_name TO media_display_name;\ + ALTER TABLE %q RENAME COLUMN mime_type TO media_mime_type;\ + ALTER TABLE %q RENAME COLUMN size TO media_size;\ + ALTER TABLE %q RENAME COLUMN added_time TO media_added_time;\ + ALTER TABLE %q RENAME COLUMN modified_time TO media_modified_time;\ + ALTER TABLE %q RENAME COLUMN thumbnail_path TO media_thumbnail_path;\ + ALTER TABLE %q RENAME COLUMN title TO media_title;\ + ALTER TABLE %q RENAME COLUMN album TO media_album;\ + ALTER TABLE %q RENAME COLUMN artist TO media_artist;\ + ALTER TABLE %q RENAME COLUMN album_artist TO media_album_artist;\ + ALTER TABLE %q RENAME COLUMN genre TO media_genre;\ + ALTER TABLE %q RENAME COLUMN composer TO media_composer;\ + ALTER TABLE %q RENAME COLUMN year TO media_year;\ + ALTER TABLE %q RENAME COLUMN recorded_date TO media_recorded_date;\ + ALTER TABLE %q RENAME COLUMN copyright TO media_copyright;\ + ALTER TABLE %q RENAME COLUMN track_num TO media_track_num;\ + ALTER TABLE %q RENAME COLUMN description TO media_description;\ + ALTER TABLE %q RENAME COLUMN bitrate TO media_bitrate;\ + ALTER TABLE %q RENAME COLUMN bitpersample TO media_bitpersample;\ + ALTER TABLE %q RENAME COLUMN samplerate TO media_samplerate;\ + ALTER TABLE %q RENAME COLUMN channel TO media_channel;\ + ALTER TABLE %q RENAME COLUMN duration TO media_duration;\ + ALTER TABLE %q RENAME COLUMN longitude TO media_longitude;\ + ALTER TABLE %q RENAME COLUMN latitude TO media_latitude;\ + ALTER TABLE %q RENAME COLUMN altitude TO media_altitude;\ + ALTER TABLE %q RENAME COLUMN width TO media_width;\ + ALTER TABLE %q RENAME COLUMN height TO media_height;\ + ALTER TABLE %q RENAME COLUMN datetaken TO media_datetaken;\ + ALTER TABLE %q RENAME COLUMN orientation TO media_orientation;\ + ALTER TABLE %q RENAME COLUMN rating TO media_rating;\ + ALTER TABLE %q RENAME COLUMN favourite TO media_favourite;\ + ALTER TABLE %q RENAME COLUMN is_drm TO media_is_drm;\ + ALTER TABLE %q RENAME COLUMN storage_type TO media_storage_type;\ + ALTER TABLE %q RENAME COLUMN timeline TO media_timeline;\ + ALTER TABLE %q RENAME COLUMN is_360 TO media_360;", + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA, + MEDIA_SVC_DB_TABLE_MEDIA); + if (sql == NULL) { + media_svc_error("Query creation failed"); + ret = MS_MEDIA_ERR_OUT_OF_MEMORY; + goto ERROR; + } + + ret = _media_svc_sql_query(sql, uid); + SQLITE3_SAFE_FREE(sql); + if (ret != MS_MEDIA_ERR_NONE) { + media_svc_error("_media_svc_sql_query failed"); goto ERROR; } } @@ -1283,8 +1524,8 @@ static int __media_svc_db_upgrade(sqlite3 *db_handle, int cur_version, uid_t uid /* Update user version */ sql = sqlite3_mprintf("PRAGMA user_version=%d;", LATEST_VERSION_NUMBER); if (sql == NULL) { - media_svc_error("Query creation failed"); - ret = MS_MEDIA_ERR_OUT_OF_MEMORY; + media_svc_error("Query creation failed"); + ret = MS_MEDIA_ERR_OUT_OF_MEMORY; goto ERROR; } diff --git a/src/include/common/media-svc-env.h b/src/include/common/media-svc-env.h index 231f909..42e327a 100755 --- a/src/include/common/media-svc-env.h +++ b/src/include/common/media-svc-env.h @@ -34,7 +34,7 @@ extern "C" { * DB information */ -#define LATEST_VERSION_NUMBER 7 +#define LATEST_VERSION_NUMBER 8 /** * Notice : New table user version -1 : alter table issue @@ -46,6 +46,7 @@ extern "C" { #define USER_V5 5 /** Tizen 3.0*/ #define USER_V6 6 /** Tizen 4.0*/ #define USER_V7 7 /** Tizen 5.0*/ +#define USER_V8 8 /** Tizen 5.5*/ /** |