From 4e0a8a7b7872dac89258b5347bf79071c2b97563 Mon Sep 17 00:00:00 2001 From: Minje Ahn Date: Tue, 21 May 2024 11:07:36 +0900 Subject: [PATCH] Remove db upgrade function DB upgrade functions is for tizen 5.0. No longer in use. Change-Id: I9b3d249852b07356f18840872ce0c4ee41b073c6 Signed-off-by: Minje Ahn --- packaging/capi-media-controller.spec | 2 +- svc/include/media_controller_db_util.h | 5 -- svc/media_controller_db_util.c | 106 --------------------------------- svc/media_controller_svc.c | 72 ++++++---------------- 4 files changed, 19 insertions(+), 166 deletions(-) diff --git a/packaging/capi-media-controller.spec b/packaging/capi-media-controller.spec index f944c55..61f1c2c 100644 --- a/packaging/capi-media-controller.spec +++ b/packaging/capi-media-controller.spec @@ -1,7 +1,7 @@ Name: capi-media-controller Summary: A media controller library in Tizen Native API Version: 1.0.1 -Release: 1 +Release: 2 Group: Multimedia/API License: Apache-2.0 Source0: %{name}-%{version}.tar.gz diff --git a/svc/include/media_controller_db_util.h b/svc/include/media_controller_db_util.h index aac33d8..9407628 100644 --- a/svc/include/media_controller_db_util.h +++ b/svc/include/media_controller_db_util.h @@ -35,9 +35,4 @@ int mc_db_request(uid_t uid, const char *data, int data_size); int mc_db_add_application(uid_t uid, const char *app_id, mc_priv_type_e priv_type); int mc_db_remove_application(uid_t uid, const char *app_id, mc_priv_type_e priv_type); -gboolean mc_db_util_is_exist_table(sqlite3 *handle, const char *table_name); -int mc_db_util_get_latest_server(sqlite3 *handle, char **latest_server_name); -int mc_db_util_drop_table(sqlite3 *handle, const char *table_name); -int mc_db_util_migration(sqlite3 *handle, const char *table_name); - #endif /*__TIZEN_MULTIMEDIA_MEDIA_CONTROLLER_DB_UTIL_H__*/ diff --git a/svc/media_controller_db_util.c b/svc/media_controller_db_util.c index 188d816..fb52727 100644 --- a/svc/media_controller_db_util.c +++ b/svc/media_controller_db_util.c @@ -949,109 +949,3 @@ int mc_db_remove_application(uid_t uid, const char *app_id, const mc_priv_type_e return ret; } - -gboolean mc_db_util_is_exist_table(sqlite3 *handle, const char *table_name) -{ - int ret = MEDIA_CONTROLLER_ERROR_NONE; - char *sql_str = NULL; - int result = 0; - sqlite3_stmt *stmt = NULL; - - mc_retvm_if(!handle, FALSE, "Handle is NULL"); - mc_retvm_if(!table_name, FALSE, "table_name is NULL"); - - sql_str = sqlite3_mprintf("SELECT count(*) FROM sqlite_master WHERE tbl_name=%Q", table_name); - mc_retvm_if(!MC_STRING_VALID(sql_str), FALSE, "SQL string is null"); - - ret = sqlite3_prepare_v2(handle, sql_str, strlen(sql_str), &stmt, NULL); - SQLITE3_SAFE_FREE(sql_str); - mc_retvm_if(SQLITE_OK != ret, FALSE, "prepare error [%s]", sqlite3_errmsg(handle)); - - if (sqlite3_step(stmt) == SQLITE_ROW) - result = sqlite3_column_int(stmt, 0); - - SQLITE3_FINALIZE(stmt); - - return (gboolean)result; -} - -int mc_db_util_get_latest_server(sqlite3 *handle, char **latest_server_name) -{ - /* NOTICE : This function for upgrade tizen 5.0 to 5.5 only. */ - int ret = MEDIA_CONTROLLER_ERROR_NONE; - char *sql_str = NULL; - sqlite3_stmt *stmt = NULL; - - mc_retvm_if(!handle, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Handle is NULL"); - mc_retvm_if(!latest_server_name, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "latest_server_name is NULL"); - - sql_str = sqlite3_mprintf("SELECT server_name FROM %q", MC_DB_TABLE_LATEST_SERVER); - mc_retvm_if(!MC_STRING_VALID(sql_str), MEDIA_CONTROLLER_ERROR_INVALID_OPERATION, "SQL string is null"); - - ret = sqlite3_prepare_v2(handle, sql_str, strlen(sql_str), &stmt, NULL); - SQLITE3_SAFE_FREE(sql_str); - mc_retvm_if(SQLITE_OK != ret, MEDIA_CONTROLLER_ERROR_INVALID_OPERATION, "prepare error [%s]", sqlite3_errmsg(handle)); - - if (sqlite3_step(stmt) == SQLITE_ROW) - *latest_server_name = g_strdup((const char *)sqlite3_column_text(stmt, 0)); - - SQLITE3_FINALIZE(stmt); - - return ret; -} - -int mc_db_util_drop_table(sqlite3 *handle, const char *table_name) -{ - int ret = MEDIA_CONTROLLER_ERROR_NONE; - char *sql_str = NULL; - - mc_retvm_if(!handle, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Handle is NULL"); - mc_retvm_if(!MC_STRING_VALID(table_name), MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "table_name is NULL"); - - sql_str = sqlite3_mprintf("DROP TABLE %Q", table_name); - ret = mc_db_util_update_db(handle, sql_str); - SQLITE3_SAFE_FREE(sql_str); - mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "Drop table failed [%d]", ret); - - return ret; -} - -int mc_db_util_migration(sqlite3 *handle, const char *table_name) -{ - /* NOTICE : This function for upgrade tizen 5.0 to 5.5 only. */ - /* If latest_server is exists, insert into new table and drop {latest_server_name} table */ - /* Insert into server_meta */ - int ret = MEDIA_CONTROLLER_ERROR_NONE; - char *sql_str = NULL; - - mc_retvm_if(!handle, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Handle is NULL"); - mc_retvm_if(!MC_STRING_VALID(table_name), MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "table_name is NULL"); - - /* Insert into latest_server */ - sql_str = sqlite3_mprintf("INSERT INTO %q VALUES (%Q)", MC_DB_TABLE_LATEST_SERVER, table_name); - ret = mc_db_util_update_db(handle, sql_str); - SQLITE3_SAFE_FREE(sql_str); - mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "Insert into latest_server failed [%d]", ret); - - /* Insert into server_info */ - sql_str = sqlite3_mprintf("INSERT INTO %q(name, playback_position, playlist_name, playlist_index, playback_content_type, age_rating, shuffle_mode, repeat_mode, icon_uri, ability_decided, ability_supported) \ - SELECT server_name, playback_position, playlist_name, playlist_index, playback_content_type, age_rating, shuffle_mode, repeat_mode, icon_uri, ability_decided, ability_supported FROM %Q", MC_DB_TABLE_SERVER_INFO, table_name); - - ret = mc_db_util_update_db(handle, sql_str); - SQLITE3_SAFE_FREE(sql_str); - mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "Insert into server_info failed [%d]", ret); - - /* Insert into server_meta */ - sql_str = sqlite3_mprintf("INSERT INTO %q(name, title, artist, album, author, genre, duration, date, copyright, description, track_num, picture) \ - SELECT %Q, title, artist, album, author, genre, duration, date, copyright, description, track_num, picture FROM %Q", MC_DB_TABLE_LATEST_META, table_name, table_name); - - ret = mc_db_util_update_db(handle, sql_str); - SQLITE3_SAFE_FREE(sql_str); - mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "Insert into latest_meta failed [%d]", ret); - - /* Drop {table_name} table */ - ret = mc_db_util_drop_table(handle, table_name); - mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "mc_db_util_drop_table failed [%d]", ret); - - return ret; -} diff --git a/svc/media_controller_svc.c b/svc/media_controller_svc.c index 3588fb7..f1af4f8 100644 --- a/svc/media_controller_svc.c +++ b/svc/media_controller_svc.c @@ -231,82 +231,46 @@ static int __mc_service_reset_db(uid_t uid) int res = MEDIA_CONTROLLER_ERROR_NONE; int version = 0; gboolean is_exist = FALSE; - char *latest_server_name = NULL; sqlite3 *db_handle = NULL; /* Connect media controller DB*/ res = mc_db_connect(&db_handle, uid, TRUE); - mc_retvm_if(res != MEDIA_CONTROLLER_ERROR_NONE, res, "Failed to connect DB"); + mc_retvm_if(res != MEDIA_CONTROLLER_ERROR_NONE, res, "failed to connect DB"); /* Create tables */ - res = mc_db_util_get_user_version(db_handle, &version); - if (res == MEDIA_CONTROLLER_ERROR_NONE && version == 0) { - /* Notice : User version of tizen 5.0 is 0. So, need to check table count. */ - is_exist = mc_db_util_is_exist_table(db_handle, "server_list"); - if (is_exist) { - mc_info("Upgrade tables"); - /* Get latest server name */ - res = mc_db_util_get_latest_server(db_handle, &latest_server_name); - if (res != MEDIA_CONTROLLER_ERROR_NONE) - mc_error("mc_db_util_get_latest_server failed [%d]", res); - - /* Drop old tables */ - res = mc_db_util_drop_table(db_handle, "server_list"); - if (res != MEDIA_CONTROLLER_ERROR_NONE) - mc_error("mc_db_util_drop_table failed [%d]", res); - - res = mc_db_util_drop_table(db_handle, "client_list"); - if (res != MEDIA_CONTROLLER_ERROR_NONE) - mc_error("mc_db_util_drop_table failed [%d]", res); - - res = mc_db_util_drop_table(db_handle, "server_playlist"); - if (res != MEDIA_CONTROLLER_ERROR_NONE) - mc_error("mc_db_util_drop_table failed [%d]", res); - - res = mc_db_util_drop_table(db_handle, "latest_server"); - if (res != MEDIA_CONTROLLER_ERROR_NONE) - mc_error("mc_db_util_drop_table failed [%d]", res); - - } else { - mc_info("Create tables"); - } + res = mc_db_util_create_tables(db_handle); + if (res != MEDIA_CONTROLLER_ERROR_NONE) { + mc_error("mc_db_util_create_tables failed [%d]", res); + goto FINALIZE; + } - /* Create tables */ - res = mc_db_util_create_tables(db_handle); - if (res != MEDIA_CONTROLLER_ERROR_NONE) - mc_error("mc_db_util_create_tables failed [%d]", res); + res = mc_db_util_get_user_version(db_handle, &version); + if (res != MEDIA_CONTROLLER_ERROR_NONE) { + mc_error("mc_db_util_get_user_version failed [%d]", res); + goto FINALIZE; + } + if (version == 0) { res = mc_db_util_set_user_version(db_handle); - if (res != MEDIA_CONTROLLER_ERROR_NONE) + if (res != MEDIA_CONTROLLER_ERROR_NONE) { mc_error("mc_db_util_set_user_version failed [%d]", res); - - if (MC_STRING_VALID(latest_server_name)) { - res = mc_db_util_migration(db_handle, latest_server_name); - if (res != MEDIA_CONTROLLER_ERROR_NONE) - mc_error("mc_db_util_migration failed [%d]", res); + goto FINALIZE; } - - g_free(latest_server_name); - } - - /* tables recovery when some tables are removed */ - if (version == MC_DB_LATEST_VERSION) { - mc_info("Create tables"); - res = mc_db_util_create_tables(db_handle); - if (res != MEDIA_CONTROLLER_ERROR_NONE) - mc_error("mc_db_util_create_tables failed [%d]", res); } /* Delete app_list */ res = mc_db_util_delete_app_list(db_handle); - if (res != MEDIA_CONTROLLER_ERROR_NONE) + if (res != MEDIA_CONTROLLER_ERROR_NONE) { mc_error("mc_db_util_delete_app_list failed [%d]", res); + goto FINALIZE; + } /* Initialize latest server table */ res = mc_db_util_init_latest_server_table(db_handle); if (res != MEDIA_CONTROLLER_ERROR_NONE) mc_error("mc_db_util_init_latest_server_table failed [%d]", res); +FINALIZE: /* Disconnect media controller DB*/ mc_db_disconnect(db_handle); -- 2.7.4