Update latest_server related query 53/207653/2
authorMinje Ahn <minje.ahn@samsung.com>
Mon, 10 Jun 2019 23:30:04 +0000 (08:30 +0900)
committerMinje Ahn <minje.ahn@samsung.com>
Tue, 11 Jun 2019 00:02:42 +0000 (09:02 +0900)
Change-Id: I0ab81aa519aaef12e1fdbe638eb76c6c534e780f
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
include/media_controller_private.h
src/media_controller_db.c
svc/media_controller_db_util.c

index 9862d95..b77eb4a 100644 (file)
@@ -128,8 +128,6 @@ extern "C" {
 
 /* QUERY SET */
 #define SELECT_KEY_FROM_SERVER "SELECT %q FROM %Q"
-#define SELECT_NAME_FROM_LATEST "SELECT server_name FROM %Q"
-#define SELECT_COUNT_FROM_LATEST "SELECT COUNT(*) FROM %Q WHERE server_name=%Q"
 #define SELECT_PLAY_INFO_FROM_SERVER "SELECT playback_state, playback_position, playlist_name, playlist_index, playback_content_type, age_rating FROM %Q"
 #define SELECT_FROM_SERVER "SELECT * FROM %Q"
 
@@ -140,8 +138,6 @@ extern "C" {
 #define SELECT_ITEM_FROM_PLAYLIST "SELECT * FROM %q WHERE server_name=%Q AND playlist_name=%Q AND item_index IS NOT NULL"
 #define SELECT_COUNT_FROM_MASTER "SELECT COUNT(*) FROM SQLITE_MASTER WHERE type='table' AND name=%Q"
 
-#define SELECT_ALL_SERVER_LIST_EXCEPT_LATEST   "SELECT name FROM SQLITE_MASTER WHERE type='table' AND (name != '%q') AND (name NOT IN (SELECT server_name FROM "MC_DB_TABLE_LATEST_SERVER"))"
-
 #define UPDATE_STATE_PLAYBACK          "UPDATE '%q' SET server_state=%d, playback_state=%d"
 #define DROP_TABLE                             "DROP TABLE IF EXISTS '%q'"
 #define META_LIST      "title, artist, album, author, genre, duration, date, copyright, description, track_num, picture, season, episode, resolution"
index 6f9bcc6..809d11e 100644 (file)
@@ -318,7 +318,7 @@ int mc_db_get_latest_server_name(sqlite3 *handle, char **latest_server_name)
 
        *latest_server_name = NULL;
 
-       sql_str = sqlite3_mprintf(SELECT_NAME_FROM_LATEST, MC_DB_TABLE_LATEST_SERVER);
+       sql_str = sqlite3_mprintf("SELECT 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);
@@ -791,7 +791,7 @@ gboolean _mc_db_is_latest_server(sqlite3 *handle, const char *server_name)
 
        mc_secure_debug("server name [%s]", server_name);
 
-       sql_str = sqlite3_mprintf(SELECT_COUNT_FROM_LATEST, MC_DB_TABLE_LATEST_SERVER, server_name);
+       sql_str = sqlite3_mprintf("SELECT COUNT(*) FROM %q WHERE name=%Q", MC_DB_TABLE_LATEST_SERVER, server_name);
        mc_retvm_if(!MC_STRING_VALID(sql_str), FALSE, "SQL string is null");
 
        count = __mc_db_get_count(handle, sql_str);
index d67c68d..af311a4 100644 (file)
@@ -97,7 +97,9 @@ static int __mc_foreach_table_list(sqlite3 *handle, GList **list)
 
        mc_retvm_if(handle == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Handle is NULL");
 
-       sql_str = sqlite3_mprintf(SELECT_ALL_SERVER_LIST_EXCEPT_LATEST, MC_DB_TABLE_LATEST_SERVER);
+       sql_str = sqlite3_mprintf("SELECT name FROM SQLITE_MASTER WHERE type='table' AND name!=%Q AND name NOT IN (SELECT name FROM %q))",
+               MC_DB_TABLE_LATEST_SERVER, 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);
@@ -148,7 +150,7 @@ static int __mc_create_latest_server_table(sqlite3 *handle)
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
        char *sql_str = NULL;
 
-       sql_str = sqlite3_mprintf("CREATE TABLE IF NOT EXISTS %q (server_name TEXT PRIMARY KEY);", MC_DB_TABLE_LATEST_SERVER);
+       sql_str = sqlite3_mprintf("CREATE TABLE IF NOT EXISTS %q(name TEXT PRIMARY KEY)", MC_DB_TABLE_LATEST_SERVER);
 
        ret = mc_db_util_update_db(handle, sql_str);
 
@@ -202,7 +204,7 @@ static char * __mc_db_get_latest_server_name(sqlite3 *handle)
 
        mc_retvm_if(handle == NULL, NULL, "Handle is NULL");
 
-       sql_str = sqlite3_mprintf("SELECT server_name FROM '%q';", MC_DB_TABLE_LATEST_SERVER);
+       sql_str = sqlite3_mprintf("SELECT name FROM %q", MC_DB_TABLE_LATEST_SERVER);
        mc_retvm_if(!MC_STRING_VALID(sql_str), NULL, "SQL string is null");
 
        ret = sqlite3_prepare_v2(handle, sql_str, strlen(sql_str), &stmt, NULL);
@@ -701,7 +703,7 @@ int mc_db_parse_and_update_db(uid_t uid, const char *data, int data_size)
                sql_str = sqlite3_mprintf("UPDATE '%q' SET repeat_mode=%d;", params[1], i_value);
 
        } else if (strncmp(MC_DB_CMD_UPDATE_LATEST, params[0], strlen(MC_DB_CMD_UPDATE_LATEST)) == 0) {
-               sql_str = sqlite3_mprintf("DELETE FROM '%q'; INSERT INTO '%q' (server_name) VALUES ('%q');", MC_DB_TABLE_LATEST_SERVER, MC_DB_TABLE_LATEST_SERVER, params[1]);
+               sql_str = sqlite3_mprintf("DELETE FROM %q; INSERT INTO %q VALUES ('%q');", MC_DB_TABLE_LATEST_SERVER, MC_DB_TABLE_LATEST_SERVER, params[1]);
 
 
        } else if (strncmp(MC_DB_CMD_ADD_PLAYLIST, params[0], strlen(MC_DB_CMD_ADD_PLAYLIST)) == 0) {