int ret = MEDIA_CONTROLLER_ERROR_NONE;
char *sql_str = NULL;
- sql_str = sqlite3_mprintf("CREATE TABLE IF NOT EXISTS %s (\
- server_name TEXT NOT NULL, \
- playlist_name TEXT NOT NULL, \
- item_index TEXT, \
- %s \
- unique(server_name, playlist_name, item_index));",
+ sql_str = sqlite3_mprintf("CREATE TABLE IF NOT EXISTS %s(server_name TEXT NOT NULL, playlist_name TEXT NOT NULL, item_index TEXT, \
+ %s unique(server_name, playlist_name, item_index))",
MC_DB_TABLE_PLAYLIST, META_FIELD);
ret = mc_db_util_update_db(handle, sql_str);
SQLITE3_SAFE_FREE(sql_str);
mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "fail to create playlist table");
- sql_str = sqlite3_mprintf("CREATE TRIGGER IF NOT EXISTS %s DELETE ON %s BEGIN DELETE FROM %s WHERE server_name=old.name;END",
- MC_DB_TRIGGER_PLAYLIST, MC_DB_TABLE_APP_LIST, MC_DB_TABLE_PLAYLIST);
+ sql_str = sqlite3_mprintf("CREATE TRIGGER IF NOT EXISTS %s AFTER DELETE ON %s WHEN old.type=%d BEGIN DELETE FROM %s WHERE server_name=old.name;END",
+ MC_DB_TRIGGER_PLAYLIST, MC_DB_TABLE_APP_LIST, MC_PRIV_TYPE_SERVER, MC_DB_TABLE_PLAYLIST);
ret = mc_db_util_update_db(handle, sql_str);
SQLITE3_SAFE_FREE(sql_str);