Initialize native mode schema synchronously before reading it
Core tests / core (push) Successful in 2m7s
Core tests / core (push) Successful in 2m7s
This commit is contained in:
@@ -2,8 +2,9 @@
|
|||||||
-- from its factory-created, unused starting-level reserve; identities are never reset.
|
-- from its factory-created, unused starting-level reserve; identities are never reset.
|
||||||
-- Install only after deploy/playable/install-lifecycle.py has seeded the registry.
|
-- Install only after deploy/playable/install-lifecycle.py has seeded the registry.
|
||||||
-- The persisted mode is synchronized from dashboard settings by operations-agent.
|
-- The persisted mode is synchronized from dashboard settings by operations-agent.
|
||||||
AuthDBExecute("CREATE TABLE IF NOT EXISTS azerothai_realm_rules (id TINYINT PRIMARY KEY,hardcore TINYINT NOT NULL)")
|
-- Schema setup must finish before the first synchronous mode read.
|
||||||
AuthDBExecute("INSERT IGNORE INTO azerothai_realm_rules VALUES (1,1)")
|
AuthDBQuery("CREATE TABLE IF NOT EXISTS azerothai_realm_rules (id TINYINT PRIMARY KEY,hardcore TINYINT NOT NULL)")
|
||||||
|
AuthDBQuery("INSERT IGNORE INTO azerothai_realm_rules VALUES (1,1)")
|
||||||
function AzerothAIHardcoreEnabled()
|
function AzerothAIHardcoreEnabled()
|
||||||
local q=AuthDBQuery("SELECT hardcore FROM azerothai_realm_rules WHERE id=1")
|
local q=AuthDBQuery("SELECT hardcore FROM azerothai_realm_rules WHERE id=1")
|
||||||
return not q or q:GetUInt32(0)~=0
|
return not q or q:GetUInt32(0)~=0
|
||||||
|
|||||||
@@ -20,7 +20,9 @@ function player(guid,name,account,level,dead)
|
|||||||
players[name]=p; return p
|
players[name]=p; return p
|
||||||
end
|
end
|
||||||
function AuthDBQuery(sql)
|
function AuthDBQuery(sql)
|
||||||
if string.find(sql,"azerothai_realm_rules",1,true) then return {GetUInt32=function()return mode or 1 end} end
|
if string.find(sql,"CREATE TABLE IF NOT EXISTS azerothai_realm_rules",1,true) then rulesReady=true;return nil end
|
||||||
|
if string.find(sql,"INSERT IGNORE INTO azerothai_realm_rules",1,true) then assert(rulesReady);return nil end
|
||||||
|
if string.find(sql,"SELECT hardcore FROM azerothai_realm_rules",1,true) then assert(rulesReady,'Schema must exist before synchronous mode reads');return {GetUInt32=function()return mode or 1 end} end
|
||||||
if string.find(sql,'SELECT id FROM account',1,true) then
|
if string.find(sql,'SELECT id FROM account',1,true) then
|
||||||
if string.find(sql,'id=99 ',1,true) then return nil end
|
if string.find(sql,'id=99 ',1,true) then return nil end
|
||||||
return {GetUInt32=function() return 2 end}
|
return {GetUInt32=function() return 2 end}
|
||||||
|
|||||||
Reference in New Issue
Block a user