Merge pull request #186 from addtheice/RunQueryToDatabaseQuery_client_files_import_main

Run query to database query client files import main
This commit is contained in:
Alex 2014-08-20 13:48:24 -07:00
commit 79a9e393d2

View File

@ -60,21 +60,15 @@ int main(int argc, char **argv) {
} }
int GetSpellColumns(SharedDatabase *db) { int GetSpellColumns(SharedDatabase *db) {
char errbuf[MYSQL_ERRMSG_SIZE];
const char *query = "DESCRIBE spells_new"; const std::string query = "DESCRIBE spells_new";
MYSQL_RES *result; auto results = db->QueryDatabase(query);
MYSQL_ROW row; if(!results.Success()) {
int res = 0; LogFile->write(EQEMuLog::Error, "Error in GetSpellColumns query '%s' %s", query.c_str(), results.ErrorMessage().c_str());
if(db->RunQuery(query, (uint32)strlen(query), errbuf, &result)) { return 0;
while(row = mysql_fetch_row(result)) {
++res;
}
mysql_free_result(result);
} else {
LogFile->write(EQEMuLog::Error, "Error in GetSpellColumns query '%s' %s", query, errbuf);
} }
return res; return results.RowCount();
} }
void ImportSpells(SharedDatabase *db) { void ImportSpells(SharedDatabase *db) {
@ -85,8 +79,8 @@ void ImportSpells(SharedDatabase *db) {
return; return;
} }
std::string delete_sql = "DELETE FROM spells_new"; std::string query = "DELETE FROM spells_new";
db->RunQuery(delete_sql.c_str(), (uint32)delete_sql.length()); db->QueryDatabase(query);
int columns = GetSpellColumns(db); int columns = GetSpellColumns(db);
int spells_imported = 0; int spells_imported = 0;
@ -103,8 +97,8 @@ void ImportSpells(SharedDatabase *db) {
std::string escaped = ::EscapeString(buffer); std::string escaped = ::EscapeString(buffer);
auto split = SplitString(escaped, '^'); auto split = SplitString(escaped, '^');
int line_columns = (int)split.size(); int line_columns = (int)split.size();
std::string sql;
std::string sql;
if(line_columns >= columns) { if(line_columns >= columns) {
sql = "INSERT INTO spells_new VALUES("; sql = "INSERT INTO spells_new VALUES(";
for(int i = 0; i < columns; ++i) { for(int i = 0; i < columns; ++i) {
@ -140,7 +134,7 @@ void ImportSpells(SharedDatabase *db) {
sql += ");"; sql += ");";
} }
db->RunQuery(sql.c_str(), (uint32)sql.length()); db->QueryDatabase(sql);
spells_imported++; spells_imported++;
if(spells_imported % 1000 == 0) { if(spells_imported % 1000 == 0) {
@ -165,7 +159,7 @@ void ImportSkillCaps(SharedDatabase *db) {
} }
std::string delete_sql = "DELETE FROM skill_caps"; std::string delete_sql = "DELETE FROM skill_caps";
db->RunQuery(delete_sql.c_str(), (uint32)delete_sql.length()); db->QueryDatabase(delete_sql);
char buffer[2048]; char buffer[2048];
while(fgets(buffer, 2048, f)) { while(fgets(buffer, 2048, f)) {
@ -185,7 +179,7 @@ void ImportSkillCaps(SharedDatabase *db) {
std::string sql = StringFormat("INSERT INTO skill_caps(class, skillID, level, cap) VALUES(%d, %d, %d, %d)", std::string sql = StringFormat("INSERT INTO skill_caps(class, skillID, level, cap) VALUES(%d, %d, %d, %d)",
class_id, skill_id, level, cap); class_id, skill_id, level, cap);
db->RunQuery(sql.c_str(), (uint32)sql.length()); db->QueryDatabase(sql);
} }
fclose(f); fclose(f);
@ -201,7 +195,7 @@ void ImportBaseData(SharedDatabase *db) {
} }
std::string delete_sql = "DELETE FROM base_data"; std::string delete_sql = "DELETE FROM base_data";
db->RunQuery(delete_sql.c_str(), (uint32)delete_sql.length()); db->QueryDatabase(delete_sql);
char buffer[2048]; char buffer[2048];
while(fgets(buffer, 2048, f)) { while(fgets(buffer, 2048, f)) {
@ -230,7 +224,7 @@ void ImportBaseData(SharedDatabase *db) {
"mana_fac, end_fac) VALUES(%d, %d, %f, %f, %f, %f, %f, %f, %f, %f)", "mana_fac, end_fac) VALUES(%d, %d, %f, %f, %f, %f, %f, %f, %f, %f)",
level, class_id, hp, mana, end, unk1, unk2, hp_fac, mana_fac, end_fac); level, class_id, hp, mana, end, unk1, unk2, hp_fac, mana_fac, end_fac);
db->RunQuery(sql.c_str(), (uint32)sql.length()); db->QueryDatabase(sql);
} }
fclose(f); fclose(f);