mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-14 07:21:48 +00:00
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:
commit
79a9e393d2
@ -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);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user