Remove conf_*() usage in DB module
This commit is contained in:
parent
ed0ff0c136
commit
c1a2bf6fcf
|
@ -48,7 +48,6 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "daapd.h"
|
#include "daapd.h"
|
||||||
#include "conf.h"
|
|
||||||
#include "err.h"
|
#include "err.h"
|
||||||
#include "db-generic.h"
|
#include "db-generic.h"
|
||||||
#include "db-sql.h"
|
#include "db-sql.h"
|
||||||
|
@ -401,9 +400,6 @@ int db_sqlite3_event(int event_type) {
|
||||||
switch(event_type) {
|
switch(event_type) {
|
||||||
|
|
||||||
case DB_SQL_EVENT_STARTUP: /* this is a startup with existing songs */
|
case DB_SQL_EVENT_STARTUP: /* this is a startup with existing songs */
|
||||||
if(!conf_get_int("database","quick_startup",0))
|
|
||||||
db_sqlite3_exec(NULL,E_FATAL,"vacuum");
|
|
||||||
|
|
||||||
db_sqlite3_exec(NULL,E_DBG,"create index idx_path on "
|
db_sqlite3_exec(NULL,E_DBG,"create index idx_path on "
|
||||||
"songs(path,idx)");
|
"songs(path,idx)");
|
||||||
db_sqlite3_exec(NULL,E_DBG,"create index idx_songid on "
|
db_sqlite3_exec(NULL,E_DBG,"create index idx_songid on "
|
||||||
|
|
60
src/db-sql.c
60
src/db-sql.c
|
@ -43,7 +43,6 @@
|
||||||
#include "db-generic.h"
|
#include "db-generic.h"
|
||||||
#include "db-sql.h"
|
#include "db-sql.h"
|
||||||
#include "smart-parser.h"
|
#include "smart-parser.h"
|
||||||
#include "conf.h" /* FIXME */
|
|
||||||
|
|
||||||
#ifdef HAVE_SQLITE3
|
#ifdef HAVE_SQLITE3
|
||||||
#include "db-sql-sqlite3.h"
|
#include "db-sql-sqlite3.h"
|
||||||
|
@ -64,7 +63,6 @@ void db_sql_build_mp3file(char **valarray, MP3FILE *pmp3);
|
||||||
int db_sql_update(char **pe, MP3FILE *pmp3, int *id);
|
int db_sql_update(char **pe, MP3FILE *pmp3, int *id);
|
||||||
int db_sql_update_playlists(char **pe);
|
int db_sql_update_playlists(char **pe);
|
||||||
int db_sql_parse_smart(char **pe, char **clause, char *phrase);
|
int db_sql_parse_smart(char **pe, char **clause, char *phrase);
|
||||||
char *_db_proper_path(char *path);
|
|
||||||
|
|
||||||
#define STR(a) (a) ? (a) : ""
|
#define STR(a) (a) ? (a) : ""
|
||||||
#define ISSTR(a) ((a) && strlen((a)))
|
#define ISSTR(a) ((a) && strlen((a)))
|
||||||
|
@ -108,27 +106,6 @@ int db_sql_open_sqlite3(char **pe, char *parameters) {
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
char *_db_proper_path(char *path) {
|
|
||||||
char *new_path;
|
|
||||||
char *path_ptr;
|
|
||||||
|
|
||||||
new_path = strdup(path);
|
|
||||||
if(!new_path) {
|
|
||||||
DPRINTF(E_FATAL,L_DB,"malloc: _db_proper_path\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
if(conf_get_int("scanning","case_sensitive",1) == 0) {
|
|
||||||
path_ptr = new_path;
|
|
||||||
while(*path_ptr) {
|
|
||||||
*path_ptr = toupper(*path_ptr);
|
|
||||||
path_ptr++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return new_path;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int db_sql_atoi(const char *what) {
|
int db_sql_atoi(const char *what) {
|
||||||
return what ? atoi(what) : 0;
|
return what ? atoi(what) : 0;
|
||||||
}
|
}
|
||||||
|
@ -642,7 +619,6 @@ int db_sql_add_playlist(char **pe, char *name, int type, char *clause, char *pat
|
||||||
int result=DB_E_SUCCESS;
|
int result=DB_E_SUCCESS;
|
||||||
char *criteria;
|
char *criteria;
|
||||||
char *estring;
|
char *estring;
|
||||||
char *correct_path;
|
|
||||||
SQL_ROW row;
|
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 "
|
||||||
|
@ -672,12 +648,10 @@ int db_sql_add_playlist(char **pe, char *name, int type, char *clause, char *pat
|
||||||
switch(type) {
|
switch(type) {
|
||||||
case PL_STATICFILE: /* static, from file */
|
case PL_STATICFILE: /* static, from file */
|
||||||
case PL_STATICXML: /* from iTunes XML file */
|
case PL_STATICXML: /* from iTunes XML file */
|
||||||
correct_path = _db_proper_path(path);
|
|
||||||
result = db_sql_exec_fn(pe,E_LOG,"insert into playlists "
|
result = db_sql_exec_fn(pe,E_LOG,"insert into playlists "
|
||||||
"(title,type,items,query,db_timestamp,path,idx) "
|
"(title,type,items,query,db_timestamp,path,idx) "
|
||||||
"values ('%q',%d,0,NULL,%d,'%q',%d)",
|
"values ('%q',%d,0,NULL,%d,'%q',%d)",
|
||||||
name,type,(int)time(NULL),correct_path,index);
|
name,type,(int)time(NULL),path,index);
|
||||||
free(correct_path);
|
|
||||||
break;
|
break;
|
||||||
case PL_STATICWEB: /* static, maintained in web interface */
|
case PL_STATICWEB: /* static, maintained in web interface */
|
||||||
result = db_sql_exec_fn(pe,E_LOG,"insert into playlists "
|
result = db_sql_exec_fn(pe,E_LOG,"insert into playlists "
|
||||||
|
@ -778,7 +752,6 @@ int db_sql_add(char **pe, MP3FILE *pmp3, int *id) {
|
||||||
int count;
|
int count;
|
||||||
int insertid;
|
int insertid;
|
||||||
char *query;
|
char *query;
|
||||||
char *path;
|
|
||||||
char sample_count[40];
|
char sample_count[40];
|
||||||
char file_size[40];
|
char file_size[40];
|
||||||
|
|
||||||
|
@ -792,18 +765,14 @@ int db_sql_add(char **pe, MP3FILE *pmp3, int *id) {
|
||||||
|
|
||||||
pmp3->db_timestamp = (int)time(NULL);
|
pmp3->db_timestamp = (int)time(NULL);
|
||||||
|
|
||||||
path = _db_proper_path(pmp3->path);
|
|
||||||
|
|
||||||
/* Always an add if in song scan on full reload */
|
/* Always an add if in song scan on full reload */
|
||||||
if((!db_sql_reload)||(!db_sql_in_scan)) {
|
if((!db_sql_reload)||(!db_sql_in_scan)) {
|
||||||
query = "select count(*) from songs where path='%q' and idx=%d";
|
query = "select count(*) from songs where path='%q' and idx=%d";
|
||||||
err=db_sql_fetch_int(NULL,&count,query,path,pmp3->index);
|
err=db_sql_fetch_int(NULL,&count,query,pmp3->path,pmp3->index);
|
||||||
|
|
||||||
if((err == DB_E_SUCCESS) && (count == 1)) { /* we should update */
|
if((err == DB_E_SUCCESS) && (count == 1)) { /* we should update */
|
||||||
free(path);
|
|
||||||
return db_sql_update(pe,pmp3,id);
|
return db_sql_update(pe,pmp3,id);
|
||||||
} else if((err != DB_E_SUCCESS) && (err != DB_E_NOROWS)) {
|
} else if((err != DB_E_SUCCESS) && (err != DB_E_NOROWS)) {
|
||||||
free(path);
|
|
||||||
DPRINTF(E_LOG,L_DB,"Error: %s\n",pe);
|
DPRINTF(E_LOG,L_DB,"Error: %s\n",pe);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
@ -861,7 +830,7 @@ int db_sql_add(char **pe, MP3FILE *pmp3, int *id) {
|
||||||
"%d," // contentrating
|
"%d," // contentrating
|
||||||
"%d," // bits_per_sample
|
"%d," // bits_per_sample
|
||||||
"'%q')", // albumartist
|
"'%q')", // albumartist
|
||||||
path,
|
pmp3->path,
|
||||||
STR(pmp3->fname),
|
STR(pmp3->fname),
|
||||||
STR(pmp3->title),
|
STR(pmp3->title),
|
||||||
STR(pmp3->artist),
|
STR(pmp3->artist),
|
||||||
|
@ -902,7 +871,6 @@ int db_sql_add(char **pe, MP3FILE *pmp3, int *id) {
|
||||||
pmp3->bits_per_sample,
|
pmp3->bits_per_sample,
|
||||||
STR(pmp3->album_artist));
|
STR(pmp3->album_artist));
|
||||||
|
|
||||||
free(path);
|
|
||||||
if(err != DB_E_SUCCESS)
|
if(err != DB_E_SUCCESS)
|
||||||
DPRINTF(E_FATAL,L_DB,"Error inserting file %s in database\n",pmp3->fname);
|
DPRINTF(E_FATAL,L_DB,"Error inserting file %s in database\n",pmp3->fname);
|
||||||
|
|
||||||
|
@ -931,7 +899,6 @@ int db_sql_add(char **pe, MP3FILE *pmp3, int *id) {
|
||||||
int db_sql_update(char **pe, MP3FILE *pmp3, int *id) {
|
int db_sql_update(char **pe, MP3FILE *pmp3, int *id) {
|
||||||
int err;
|
int err;
|
||||||
char query[1024];
|
char query[1024];
|
||||||
char *path;
|
|
||||||
char sample_count[40];
|
char sample_count[40];
|
||||||
char file_size[40];
|
char file_size[40];
|
||||||
|
|
||||||
|
@ -975,8 +942,6 @@ int db_sql_update(char **pe, MP3FILE *pmp3, int *id) {
|
||||||
"album_artist='%q'"
|
"album_artist='%q'"
|
||||||
" WHERE path='%q' and idx=%d");
|
" WHERE path='%q' and idx=%d");
|
||||||
|
|
||||||
path = _db_proper_path(pmp3->path);
|
|
||||||
|
|
||||||
err = db_sql_exec_fn(pe,E_LOG,query,
|
err = db_sql_exec_fn(pe,E_LOG,query,
|
||||||
STR(pmp3->title),
|
STR(pmp3->title),
|
||||||
STR(pmp3->artist),
|
STR(pmp3->artist),
|
||||||
|
@ -1007,7 +972,7 @@ int db_sql_update(char **pe, MP3FILE *pmp3, int *id) {
|
||||||
sample_count,
|
sample_count,
|
||||||
STR(pmp3->codectype),
|
STR(pmp3->codectype),
|
||||||
STR(pmp3->album_artist),
|
STR(pmp3->album_artist),
|
||||||
path,
|
pmp3->path,
|
||||||
pmp3->index);
|
pmp3->index);
|
||||||
|
|
||||||
if(err != DB_E_SUCCESS)
|
if(err != DB_E_SUCCESS)
|
||||||
|
@ -1016,9 +981,8 @@ int db_sql_update(char **pe, MP3FILE *pmp3, int *id) {
|
||||||
if(id) { /* we need the insert/update id */
|
if(id) { /* we need the insert/update id */
|
||||||
strcpy(query,"select id from songs where path='%q' and idx=%d");
|
strcpy(query,"select id from songs where path='%q' and idx=%d");
|
||||||
|
|
||||||
err=db_sql_fetch_int(pe,id,query,path,pmp3->index);
|
err=db_sql_fetch_int(pe,id,query,pmp3->path,pmp3->index);
|
||||||
if(err != DB_E_SUCCESS) {
|
if(err != DB_E_SUCCESS) {
|
||||||
free(path);
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1029,14 +993,13 @@ int db_sql_update(char **pe, MP3FILE *pmp3, int *id) {
|
||||||
} else {
|
} else {
|
||||||
strcpy(query,"insert into updated (id) select id from "
|
strcpy(query,"insert into updated (id) select id from "
|
||||||
"songs where path='%q' and idx=%d");
|
"songs where path='%q' and idx=%d");
|
||||||
db_sql_exec_fn(NULL,E_FATAL,query,path,pmp3->index);
|
db_sql_exec_fn(NULL,E_FATAL,query,pmp3->path,pmp3->index);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if((!db_sql_in_scan) && (!db_sql_in_playlist_scan))
|
if((!db_sql_in_scan) && (!db_sql_in_playlist_scan))
|
||||||
db_sql_update_playlists(NULL);
|
db_sql_update_playlists(NULL);
|
||||||
|
|
||||||
free(path);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1475,13 +1438,9 @@ M3UFILE *db_sql_fetch_playlist(char **pe, char *path, int index) {
|
||||||
int result;
|
int result;
|
||||||
M3UFILE *pm3u=NULL;
|
M3UFILE *pm3u=NULL;
|
||||||
SQL_ROW row;
|
SQL_ROW row;
|
||||||
char *proper_path;
|
|
||||||
|
|
||||||
proper_path = _db_proper_path(path);
|
|
||||||
result = db_sql_fetch_row(pe, &row, "select * from playlists where "
|
result = db_sql_fetch_row(pe, &row, "select * from playlists where "
|
||||||
"path='%q' and idx=%d",proper_path,index);
|
"path='%q' and idx=%d",path,index);
|
||||||
|
|
||||||
free(proper_path);
|
|
||||||
|
|
||||||
if(result != DB_E_SUCCESS) {
|
if(result != DB_E_SUCCESS) {
|
||||||
if(result == DB_E_NOROWS) {
|
if(result == DB_E_NOROWS) {
|
||||||
|
@ -1556,7 +1515,6 @@ MP3FILE *db_sql_fetch_path(char **pe, char *path, int index) {
|
||||||
MP3FILE *pmp3=NULL;
|
MP3FILE *pmp3=NULL;
|
||||||
int err;
|
int err;
|
||||||
char *query;
|
char *query;
|
||||||
char *proper_path;
|
|
||||||
|
|
||||||
/* if we are doing a full reload, then it can't be in here.
|
/* if we are doing a full reload, then it can't be in here.
|
||||||
* besides, we don't have an index anyway, so we don't want to
|
* besides, we don't have an index anyway, so we don't want to
|
||||||
|
@ -1566,11 +1524,9 @@ MP3FILE *db_sql_fetch_path(char **pe, char *path, int index) {
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
/* not very portable, but works for sqlite */
|
/* not very portable, but works for sqlite */
|
||||||
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";
|
||||||
|
|
||||||
err=db_sql_fetch_row(pe,&row,query,proper_path,index);
|
err=db_sql_fetch_row(pe,&row,query,path,index);
|
||||||
free(proper_path);
|
|
||||||
|
|
||||||
if(err != DB_E_SUCCESS) {
|
if(err != DB_E_SUCCESS) {
|
||||||
if(err == DB_E_NOROWS) { /* Override generic error */
|
if(err == DB_E_NOROWS) { /* Override generic error */
|
||||||
|
|
Loading…
Reference in New Issue