From 6bd9fab9f5822b1e61aaff9520fcae87fe4c6362 Mon Sep 17 00:00:00 2001 From: hondacrx Date: Sun, 3 Jan 2021 14:54:18 -0500 Subject: [PATCH] Core/Sql: missed .sql on full DB files. Added parameters to the log of sql errors --- Source/Framework/Database/DatabaseUpdater.cs | 4 ++-- Source/Framework/Database/MySqlBase.cs | 17 +++++++++++++---- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/Source/Framework/Database/DatabaseUpdater.cs b/Source/Framework/Database/DatabaseUpdater.cs index 4a1f8ac6c..78b91df4a 100644 --- a/Source/Framework/Database/DatabaseUpdater.cs +++ b/Source/Framework/Database/DatabaseUpdater.cs @@ -51,10 +51,10 @@ namespace Framework.Database fileName = @"/sql/base/characters_database.sql"; break; case "WorldDatabase": - fileName = @"/sql/TDB_full_world_837.20101_2020_10_20"; + fileName = @"/sql/TDB_full_world_837.20101_2020_10_20.sql"; break; case "HotfixDatabase": - fileName = @"/sql/TDB_full_hotfixes_837.20101_2020_10_20"; + fileName = @"/sql/TDB_full_hotfixes_837.20101_2020_10_20.sql"; break; } diff --git a/Source/Framework/Database/MySqlBase.cs b/Source/Framework/Database/MySqlBase.cs index 4263be6c9..83d937daf 100644 --- a/Source/Framework/Database/MySqlBase.cs +++ b/Source/Framework/Database/MySqlBase.cs @@ -101,7 +101,7 @@ namespace Framework.Database } catch (MySqlException ex) { - HandleMySQLException(ex, stmt.CommandText); + HandleMySQLException(ex, stmt.CommandText, stmt.Parameters); return false; } } @@ -146,7 +146,7 @@ namespace Framework.Database } catch (MySqlException ex) { - HandleMySQLException(ex, stmt.CommandText); + HandleMySQLException(ex, stmt.CommandText, stmt.Parameters); return new SQLResult(); } } @@ -296,12 +296,22 @@ namespace Framework.Database } } - MySqlErrorCode HandleMySQLException(MySqlException ex, string query = "") + MySqlErrorCode HandleMySQLException(MySqlException ex, string query = "", Dictionary parameters = null) { MySqlErrorCode code = (MySqlErrorCode)ex.Number; if (ex.InnerException is MySqlException) code = (MySqlErrorCode)((MySqlException)ex.InnerException).Number; + StringBuilder stringBuilder = new StringBuilder($"SqlException: MySqlErrorCode: {code} Message: {ex.Message} SqlQuery: {query} "); + if (parameters != null) + { + stringBuilder.Append("Parameters: "); + foreach (var pair in parameters) + stringBuilder.Append($"{pair.Key} : {pair.Value}"); + } + + Log.outError(LogFilter.Sql, stringBuilder.ToString()); + switch (code) { case MySqlErrorCode.BadFieldError: @@ -313,7 +323,6 @@ namespace Framework.Database break; } - Log.outError(LogFilter.Sql, $"SqlException: {ex.Message} SqlQuery: {query}"); return code; }