Add more logging for duplicate playlist

This commit is contained in:
Ron Pedde 2006-11-27 00:17:12 +00:00
parent 9239e0ad36
commit 23e567a94b

View File

@ -353,7 +353,7 @@ int db_sql_open(char **pe, char *parameters) {
return result; return result;
max_version = 0; max_version = 0;
while(db_updates[max_version]) while(db_updates[max_version])
max_version++; max_version++;
DPRINTF(E_DBG,L_DB,"Current db version: %d\n",current_version); DPRINTF(E_DBG,L_DB,"Current db version: %d\n",current_version);
@ -364,7 +364,7 @@ int db_sql_open(char **pe, char *parameters) {
current_version + 1); current_version + 1);
result = db_sql_exec_fn(pe,E_LOG,"%s",db_updates[current_version]); result = db_sql_exec_fn(pe,E_LOG,"%s",db_updates[current_version]);
if(result != DB_E_SUCCESS) { if(result != DB_E_SUCCESS) {
DPRINTF(E_LOG,L_DB,"Error upgrading db: %s\n", pe ? *pe : DPRINTF(E_LOG,L_DB,"Error upgrading db: %s\n", pe ? *pe :
"Unknown"); "Unknown");
return result; return result;
} }
@ -434,7 +434,7 @@ int db_sql_force_rescan(char **pe) {
return result; return result;
return db_sql_exec_fn(pe,E_LOG,"update songs set force_update=1"); return db_sql_exec_fn(pe,E_LOG,"update songs set force_update=1");
} }
/** /**
@ -657,6 +657,7 @@ int db_sql_add_playlist(char **pe, char *name, int type, char *clause, char *pat
char *criteria; char *criteria;
char *estring; char *estring;
char *correct_path; char *correct_path;
SQL_ROW row;
result=db_sql_fetch_int(pe,&cnt,"select count(*) from playlists where " result=db_sql_fetch_int(pe,&cnt,"select count(*) from playlists where "
"upper(title)=upper('%q')",name); "upper(title)=upper('%q')",name);
@ -666,6 +667,12 @@ int db_sql_add_playlist(char **pe, char *name, int type, char *clause, char *pat
} }
if(cnt != 0) { /* duplicate */ if(cnt != 0) { /* duplicate */
db_sql_fetch_row(NULL,&row, "select * from playlists where "
"upper(title)=upper('%q')",name);
DPRINTF(E_LOG,L_MISC,"Attempt to add duplicate playlist: '%s' "
"type: %d, path: %s, idx: %d\n",name,atoi(row[PL_TYPE]),
row[PL_PATH],atoi(row[PL_IDX]));
db_sql_dispose_row();
db_get_error(pe,DB_E_DUPLICATE_PLAYLIST,name); db_get_error(pe,DB_E_DUPLICATE_PLAYLIST,name);
return DB_E_DUPLICATE_PLAYLIST; return DB_E_DUPLICATE_PLAYLIST;
} }
@ -1291,7 +1298,7 @@ int db_sql_enum_start(char **pe, DBQUERYINFO *pinfo) {
strcpy(query_rest," where ("); strcpy(query_rest," where (");
have_clause = 1; have_clause = 1;
} }
switch(pinfo->query_type) { switch(pinfo->query_type) {
case queryTypeBrowseAlbums: case queryTypeBrowseAlbums:
strcat(query_rest,"album"); strcat(query_rest,"album");
@ -1320,7 +1327,7 @@ int db_sql_enum_start(char **pe, DBQUERYINFO *pinfo) {
strcat(scratch,query_rest); strcat(scratch,query_rest);
if(browse) if(browse)
strcat(scratch,")"); strcat(scratch,")");
err = db_sql_fetch_int(pe,&results,"%s",scratch); err = db_sql_fetch_int(pe,&results,"%s",scratch);
if(err != DB_E_SUCCESS) if(err != DB_E_SUCCESS)
return err; return err;
@ -1555,7 +1562,7 @@ MP3FILE *db_sql_fetch_path(char **pe, char *path, int index) {
*/ */
if((db_sql_in_scan) && (db_sql_reload)) if((db_sql_in_scan) && (db_sql_reload))
return NULL; return NULL;
/* not very portable, but works for sqlite */ /* not very portable, but works for sqlite */
proper_path = _db_proper_path(path); proper_path = _db_proper_path(path);
query="select * from songs where path='%q' and idx=%d"; query="select * from songs where path='%q' and idx=%d";