From 760d5e071fcd0f24328b523fbe7b2525936c4fc3 Mon Sep 17 00:00:00 2001 From: Skjalf <47818697+Nyeriah@users.noreply.github.com> Date: Fri, 26 Aug 2022 08:06:35 -0300 Subject: [PATCH] =?UTF-8?q?feat(Core/DBUpdater):=20Apply=20each=20sql=20up?= =?UTF-8?q?date=20file=20in=20a=20separate=20transa=E2=80=A6=20(#12842)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit cherry-pick: https://github.com/TrinityCore/TrinityCore/commit/b79a91039bba12d62e43806d8a20ad76107ac5d7 Co-authored-by: Shauren --- src/server/database/Updater/DBUpdater.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/server/database/Updater/DBUpdater.cpp b/src/server/database/Updater/DBUpdater.cpp index 4bec99abc..d4f45c297 100644 --- a/src/server/database/Updater/DBUpdater.cpp +++ b/src/server/database/Updater/DBUpdater.cpp @@ -441,7 +441,7 @@ void DBUpdater::ApplyFile(DatabaseWorkerPool& pool, std::string const& hos std::string const& password, std::string const& port_or_socket, std::string const& database, std::string const& ssl, Path const& path) { std::vector args; - args.reserve(7); + args.reserve(9); // CLI Client connection info args.emplace_back("-h" + host); @@ -491,13 +491,17 @@ void DBUpdater::ApplyFile(DatabaseWorkerPool& pool, std::string const& hos #endif + // Execute sql file + args.emplace_back("-e"); + args.emplace_back(Acore::StringFormat("BEGIN; SOURCE %s; COMMIT;", path.generic_string().c_str())); + // Database if (!database.empty()) args.emplace_back(database); // Invokes a mysql process which doesn't leak credentials to logs int const ret = Acore::StartProcess(DBUpdaterUtil::GetCorrectedMySQLExecutable(), args, - "sql.updates", path.generic_string(), true); + "sql.updates", "", true); if (ret != EXIT_SUCCESS) {