mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-15 04:11:30 +00:00
_FindOrCreateRuleset converted to QueryDatabase
This commit is contained in:
parent
85ebb32176
commit
a75b53f9b0
@ -342,32 +342,25 @@ int RuleManager::GetRulesetID(Database *db, const char *rulesetname) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int RuleManager::_FindOrCreateRuleset(Database *db, const char *ruleset) {
|
int RuleManager::_FindOrCreateRuleset(Database *db, const char *ruleset) {
|
||||||
int res;
|
|
||||||
|
|
||||||
res = GetRulesetID(db, ruleset);
|
int res = GetRulesetID(db, ruleset);
|
||||||
if(res >= 0)
|
if(res >= 0)
|
||||||
return(res); //found and existing one...
|
return res; //found and existing one...
|
||||||
|
|
||||||
uint32 len = strlen(ruleset);
|
uint32 len = strlen(ruleset);
|
||||||
char* rst = new char[2*len+1];
|
char* rst = new char[2*len+1];
|
||||||
db->DoEscapeString(rst, ruleset, len);
|
db->DoEscapeString(rst, ruleset, len);
|
||||||
|
|
||||||
uint32 new_id;
|
std::string query = StringFormat("INSERT INTO rule_sets (ruleset_id, name) VALUES(0, '%s')", rst);
|
||||||
char errbuf[MYSQL_ERRMSG_SIZE];
|
safe_delete_array(rst);
|
||||||
char* query = 0;
|
auto results = db->QueryDatabase(query);
|
||||||
if (!db->RunQuery(query, MakeAnyLenString(&query,
|
if (!results.Success())
|
||||||
"INSERT INTO rule_sets (ruleset_id, name) "
|
|
||||||
" VALUES(0, '%s')",
|
|
||||||
rst),errbuf,nullptr,nullptr,&new_id))
|
|
||||||
{
|
{
|
||||||
_log(RULES__ERROR, "Fauled to create rule set in the database: %s: %s", query,errbuf);
|
_log(RULES__ERROR, "Fauled to create rule set in the database: %s: %s", query.c_str(), results.ErrorMessage().c_str());
|
||||||
res = -1;
|
return -1;
|
||||||
} else {
|
|
||||||
res = new_id;
|
|
||||||
}
|
}
|
||||||
safe_delete_array(query);
|
|
||||||
|
|
||||||
return(res);
|
return results.LastInsertedID();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string RuleManager::GetRulesetName(Database *db, int id) {
|
std::string RuleManager::GetRulesetName(Database *db, int id) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user