diff options
-rw-r--r-- | mg_db.c | 6 | ||||
-rw-r--r-- | mg_db.h | 1 | ||||
-rw-r--r-- | mg_db_gd_mysql.c | 21 | ||||
-rw-r--r-- | mg_db_gd_pg.c | 20 | ||||
-rw-r--r-- | mg_db_gd_sqlite.c | 21 |
5 files changed, 38 insertions, 31 deletions
@@ -314,6 +314,12 @@ mgDb::SyncStart() return true; } +bool +mgDb::DatabaseEmpty() +{ + return (exec_count("SELECT COUNT FROM TRACKS")>0); +} + void mgDb::Sync(char * const * path_argv) { @@ -192,6 +192,7 @@ class mgDb { virtual const char* DecadeExpr()=0; virtual string Now() const =0; virtual string Directory() const =0; + bool DatabaseEmpty(); protected: int m_rows; int m_cols; diff --git a/mg_db_gd_mysql.c b/mg_db_gd_mysql.c index 2393441..5385291 100644 --- a/mg_db_gd_mysql.c +++ b/mg_db_gd_mysql.c @@ -240,6 +240,7 @@ static char *db_cmds[] = "CREATE TABLE album ( " "artist varchar(255) default NULL, " "title varchar(255) default NULL, " + "composer varchar(255) default NULL, " "cddbid varchar(20) NOT NULL default '', " "coverimg varchar(255) default NULL, " "covertxt mediumtext, " @@ -358,6 +359,7 @@ static char *db_cmds[] = "CREATE TABLE tracks ( " "artist varchar(255) default NULL, " "title varchar(255) default NULL, " + "composer varchar(255) default NULL, " "genre1 varchar(10) default NULL, " "genre2 varchar(10) default NULL, " "year smallint(5) unsigned default NULL, " @@ -369,12 +371,13 @@ static char *db_cmds[] = "sourceid varchar(20) default NULL, " "tracknb tinyint(3) unsigned default NULL, " "mp3file varchar(255) default NULL, " - "conditions tinyint(3) unsigned default NULL, " + "quality tinyint(3) unsigned default NULL, " "voladjust smallint(6) default '0', " "lengthfrm mediumint(9) default '0', " "startfrm mediumint(9) default '0', " "bpm smallint(6) default '0', " "lyrics mediumtext, " + "moreinfo mediumtext, " "bitrate varchar(10) default NULL, " "created date default NULL, " "modified date default NULL, " @@ -527,17 +530,15 @@ mgDbGd::Connect () if (m_database_found) return true; extern bool create_question(); - extern bool import(); - if (create_question()) + if (!create_question()) { - if (Create()) - { - import(); - return true; - } + mgWarning("Database not created"); + return false; } - mgWarning(mysql_error(m_db)); - return false; + m_database_found = Create(); + if (!m_database_found) + mgWarning("Cannot create database:%s",mysql_error(m_db)); + return m_database_found; } bool diff --git a/mg_db_gd_pg.c b/mg_db_gd_pg.c index d315c6c..2c9a51b 100644 --- a/mg_db_gd_pg.c +++ b/mg_db_gd_pg.c @@ -193,7 +193,7 @@ static char *db_cmds[] = "sourceid varchar(20) default NULL, " "tracknb smallint default NULL, " "mp3file varchar(255) default NULL, " - "condition smallint default NULL, " + "quality smallint default NULL, " "voladjust smallint default '0', " "lengthfrm int default '0', " "startfrm int default '0', " @@ -304,19 +304,15 @@ mgDbGd::Connect () return false; m_create_time=time(0); extern bool create_question(); - extern bool import(); - if (create_question()) + if (!create_question()) { - m_database_found = true; - if (myCreate()) - { - import(); - return true; - } + mgWarning("Database not created"); + return false; } - m_database_found = false; - mgWarning(PQerrorMessage(m_db)); - return false; + m_database_found = myCreate(); + if (!m_database_found) + mgWarning("Cannot create database:%s",PQerrorMessage(m_db)); + return m_database_found; } bool diff --git a/mg_db_gd_sqlite.c b/mg_db_gd_sqlite.c index 8407b27..dac35a1 100644 --- a/mg_db_gd_sqlite.c +++ b/mg_db_gd_sqlite.c @@ -186,7 +186,7 @@ static char *db_cmds[] = "sourceid varchar(20) default NULL, " "tracknb tinyint(3) default NULL, " "mp3file varchar(255) default NULL, " - "condition tinyint(3) default NULL, " + "quality tinyint(3) default NULL, " "voladjust smallint(6) default '0', " "lengthfrm mediumint(9) default '0', " "startfrm mediumint(9) default '0', " @@ -331,16 +331,19 @@ mgDbGd::Connect () return false; } if (!FieldExists("tracks","id")) + m_database_found=false; + if (m_database_found) + return true; + extern bool create_question(); + if (!create_question()) { - extern bool create_question(); - if (!create_question()) - return false; - if (!Create()) - return false; - extern bool import(); - import(); + mgWarning("Database not created"); + return false; } - return true; + m_database_found = Create(); + if (!m_database_found) + mgWarning("Cannot create database:%s",sqlite3_errmsg); + return m_database_found; } bool |