/* TABLE */
#define MC_DB_TABLE_APP_LIST "app_list"
#define MC_DB_TABLE_LATEST_SERVER "latest_server"
-#define MC_DB_TABLE_PLAYLIST "server_playlist"
+#define MC_DB_TABLE_PLAYLIST "playlist"
/* TRIGGER */
#define MC_DB_TRIGGER_PLAYLIST "cleanup_playlist"
#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"
-#define SELECT_COUNT_FROM_PLAYLIST "SELECT COUNT(DISTINCT playlist_name) FROM %q WHERE server_name = %Q"
-#define SELECT_NAME_FROM_PLAYLIST "SELECT playlist_name FROM %q WHERE server_name=%Q GROUP BY playlist_name"
-#define SELECT_COUNT_FROM_PLAYLIST_WITH_NAME "SELECT COUNT(*) FROM %q WHERE server_name=%Q AND playlist_name=%Q"
-#define SELECT_ITEM_COUNT_FROM_PLAYLIST "SELECT COUNT(*) FROM %q WHERE server_name=%Q AND playlist_name=%Q AND item_index IS NOT NULL"
-#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 UPDATE_STATE_PLAYBACK "UPDATE '%q' SET server_state=%d, playback_state=%d"
mc_retvm_if(handle == NULL, 0, "invalid handle");
mc_retvm_if(server_name == NULL, 0, "invalid server_name");
- sql_str = sqlite3_mprintf(SELECT_COUNT_FROM_PLAYLIST, MC_DB_TABLE_PLAYLIST, server_name);
+ sql_str = sqlite3_mprintf("SELECT COUNT(DISTINCT playlist_name) FROM %q WHERE server_name = %Q", MC_DB_TABLE_PLAYLIST, server_name);
mc_retvm_if(!MC_STRING_VALID(sql_str), 0, "SQL string is null");
count = __mc_db_get_count(handle, sql_str);
mc_retvm_if(server_name == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "invalid server_name");
mc_retvm_if(callback == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "invalid callback");
- sql_str = sqlite3_mprintf(SELECT_NAME_FROM_PLAYLIST, MC_DB_TABLE_PLAYLIST, server_name);
+ sql_str = sqlite3_mprintf("SELECT playlist_name FROM %q WHERE server_name=%Q GROUP BY playlist_name", MC_DB_TABLE_PLAYLIST, server_name);
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);
mc_retvm_if(!server_name, FALSE, "Invalid server_name");
mc_retvm_if(!playlist_name, FALSE, "Invalid playlist_name");
- sql_str = sqlite3_mprintf(SELECT_COUNT_FROM_PLAYLIST_WITH_NAME, MC_DB_TABLE_PLAYLIST, server_name, playlist_name);
+ sql_str = sqlite3_mprintf("SELECT COUNT(*) FROM %q WHERE server_name=%Q AND playlist_name=%Q", MC_DB_TABLE_PLAYLIST, server_name, playlist_name);
mc_retvm_if(!MC_STRING_VALID(sql_str), MEDIA_CONTROLLER_ERROR_INVALID_OPERATION, "SQL string is null");
count = __mc_db_get_count(handle, sql_str);
mc_retvm_if(server_name == NULL, 0, "invalid server_name");
mc_retvm_if(playlist_name == NULL, 0, "invalid playlist_name");
- sql_str = sqlite3_mprintf(SELECT_ITEM_COUNT_FROM_PLAYLIST, MC_DB_TABLE_PLAYLIST, server_name, playlist_name);
+ sql_str = sqlite3_mprintf("SELECT COUNT(*) FROM %q WHERE server_name=%Q AND playlist_name=%Q AND item_index IS NOT NULL", MC_DB_TABLE_PLAYLIST, server_name, playlist_name);
mc_retvm_if(!MC_STRING_VALID(sql_str), 0, "SQL string is null");
count = __mc_db_get_count(handle, sql_str);
mc_retvm_if(playlist_name == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "invalid playlist_name");
mc_retvm_if(callback == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "invalid callback");
- sql_str = sqlite3_mprintf(SELECT_ITEM_FROM_PLAYLIST, MC_DB_TABLE_PLAYLIST, server_name, playlist_name);
+ sql_str = sqlite3_mprintf("SELECT * FROM %q WHERE server_name=%Q AND playlist_name=%Q AND item_index IS NOT NULL", MC_DB_TABLE_PLAYLIST, server_name, playlist_name);
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);
params = g_strsplit(basic_val, MC_STRING_DELIMITER, 0);
mc_retm_if(params == NULL, "invalid playlist data");
- sql_str = sqlite3_mprintf("INSERT INTO '%q' (server_name, playlist_name, item_index, %s) VALUES (%Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q);",
+ sql_str = sqlite3_mprintf("INSERT INTO %q(server_name, playlist_name, item_index, %s) VALUES (%Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q)",
MC_DB_TABLE_PLAYLIST, META_LIST, g_list_nth_data(*query_list, 0), g_list_nth_data(*query_list, 1), key,
__replace_null(params[0]), __replace_null(params[1]), __replace_null(params[2]), __replace_null(params[3]), __replace_null(params[4]),
__replace_null(params[5]), __replace_null(params[6]), __replace_null(params[7]), __replace_null(params[8]), __replace_null(params[9]),
mc_safe_strtoi(params[5], &i_value_2);
if (MC_STRING_VALID(params[6]) && MC_STRING_VALID(params[7])) {
- sql_str = sqlite3_mprintf("UPDATE '%q' SET playback_state=%d, playback_position=%llu, playback_content_type=%d, age_rating=%d, playlist_name=%Q, playlist_index=%Q;",
+ sql_str = sqlite3_mprintf("UPDATE '%q' SET playback_state=%d, playback_position=%llu, playback_content_type=%d, age_rating=%d, playlist_name=%Q, playlist_index=%Q",
params[1], i_value, llu_value, i_value_1, i_value_2, params[6], params[7]);
} else if (MC_STRING_VALID(params[6])) {
- sql_str = sqlite3_mprintf("UPDATE '%q' SET playback_state=%d, playback_position=%llu, playback_content_type=%d, age_rating=%d, playlist_index=%Q;",
+ sql_str = sqlite3_mprintf("UPDATE '%q' SET playback_state=%d, playback_position=%llu, playback_content_type=%d, age_rating=%d, playlist_index=%Q",
params[1], i_value, llu_value, i_value_1, i_value_2, params[6]);
} else {
- sql_str = sqlite3_mprintf("UPDATE '%q' SET playback_state=%d, playback_position=%llu, playback_content_type=%d, age_rating=%d, playlist_name=NULL, playlist_index=NULL;",
+ sql_str = sqlite3_mprintf("UPDATE '%q' SET playback_state=%d, playback_position=%llu, playback_content_type=%d, age_rating=%d, playlist_name=NULL, playlist_index=NULL",
params[1], i_value, llu_value, i_value_1, i_value_2);
}
}
mc_safe_strtoi(params[2], &i_value);
- sql_str = sqlite3_mprintf("UPDATE '%q' SET shuffle_mode=%d;", params[1], i_value);
+ sql_str = sqlite3_mprintf("UPDATE '%q' SET shuffle_mode=%d", params[1], i_value);
} else if (strncmp(MC_DB_CMD_UPDATE_REPEAT, params[0], strlen(MC_DB_CMD_UPDATE_REPEAT)) == 0) {
if (!params[2]) {
return MEDIA_CONTROLLER_ERROR_INVALID_OPERATION;
}
- sql_str = sqlite3_mprintf("INSERT INTO '%q' (server_name, playlist_name) VALUES (%Q, %Q);", MC_DB_TABLE_PLAYLIST, params[1], params[2]);
+ sql_str = sqlite3_mprintf("INSERT INTO %q(server_name, playlist_name) VALUES (%Q, %Q)", MC_DB_TABLE_PLAYLIST, params[1], params[2]);
} else if (strncmp(MC_DB_CMD_UPDATE_PLAYLIST, params[0], strlen(MC_DB_CMD_UPDATE_PLAYLIST)) == 0) {
bundle *bundle = NULL;
return MEDIA_CONTROLLER_ERROR_INVALID_OPERATION;
}
- sql_str = sqlite3_mprintf("DELETE FROM '%q' WHERE server_name='%q' and playlist_name=%Q;", MC_DB_TABLE_PLAYLIST, params[1], params[2]);
+ sql_str = sqlite3_mprintf("DELETE FROM %q WHERE server_name=%Q and playlist_name=%Q", MC_DB_TABLE_PLAYLIST, params[1], params[2]);
} else {
mc_error("invalid request [%s]", params[0]);