Make PreparedStatements static for each database.
This commit is contained in:
@@ -80,13 +80,12 @@ namespace Framework.Database
|
||||
|
||||
public abstract class MySqlBase<T>
|
||||
{
|
||||
Dictionary<T, string> _preparedQueries = new();
|
||||
ProducerConsumerQueue<ISqlOperation> _queue = new();
|
||||
static Dictionary<T, string> _preparedQueries = new();
|
||||
|
||||
ProducerConsumerQueue<ISqlOperation> _queue = new();
|
||||
MySqlConnectionInfo _connectionInfo;
|
||||
DatabaseUpdater<T> _updater;
|
||||
DatabaseWorker<T> _worker;
|
||||
|
||||
DBVersion version;
|
||||
|
||||
public MySqlErrorCode Initialize(MySqlConnectionInfo connectionInfo)
|
||||
@@ -225,7 +224,7 @@ namespace Framework.Database
|
||||
_preparedQueries[statement] = sb.ToString();
|
||||
}
|
||||
|
||||
public PreparedStatement GetPreparedStatement(T statement)
|
||||
public static PreparedStatement GetPreparedStatement(T statement)
|
||||
{
|
||||
return new PreparedStatement(_preparedQueries[statement]);
|
||||
}
|
||||
|
||||
@@ -124,7 +124,7 @@ class DBAppender : Appender
|
||||
if (!enabled || message.type == LogFilter.Sql)
|
||||
return;
|
||||
|
||||
PreparedStatement stmt = DB.Login.GetPreparedStatement(LoginStatements.INS_LOG);
|
||||
PreparedStatement stmt = LoginDatabase.GetPreparedStatement(LoginStatements.INS_LOG);
|
||||
stmt.AddValue(0, Time.DateTimeToUnixTime(message.mtime));
|
||||
stmt.AddValue(1, realmId);
|
||||
stmt.AddValue(2, message.type.ToString());
|
||||
|
||||
@@ -76,7 +76,7 @@ public class RealmManager : Singleton<RealmManager>
|
||||
|
||||
void UpdateRealms(object source, ElapsedEventArgs e)
|
||||
{
|
||||
PreparedStatement stmt = DB.Login.GetPreparedStatement(LoginStatements.SEL_REALMLIST);
|
||||
PreparedStatement stmt = LoginDatabase.GetPreparedStatement(LoginStatements.SEL_REALMLIST);
|
||||
SQLResult result = DB.Login.Query(stmt);
|
||||
Dictionary<RealmId, string> existingRealms = new();
|
||||
foreach (var p in _realms)
|
||||
@@ -280,7 +280,7 @@ public class RealmManager : Singleton<RealmManager>
|
||||
byte[] serverSecret = new byte[0].GenerateRandomKey(32);
|
||||
byte[] keyData = clientSecret.ToArray().Combine(serverSecret);
|
||||
|
||||
PreparedStatement stmt = DB.Login.GetPreparedStatement(LoginStatements.UPD_BNET_GAME_ACCOUNT_LOGIN_INFO);
|
||||
PreparedStatement stmt = LoginDatabase.GetPreparedStatement(LoginStatements.UPD_BNET_GAME_ACCOUNT_LOGIN_INFO);
|
||||
stmt.AddValue(0, keyData);
|
||||
stmt.AddValue(1, clientAddress.ToString());
|
||||
stmt.AddValue(2, (byte)locale);
|
||||
|
||||
Reference in New Issue
Block a user