(tc 19124|19140|19148|19172|19173|19174|19189|19195|19240)Core/DBLayer: Define prepared statements in an array per database instead of explicit calls to MySQL::PrepareStatement. Now the core will show the raw query (without bound arguments) in related log entries instead of PreparedStatement id: X on database Y.* Implement DatabaseWorkerPool::DirectCommitTransaction for synchronous transaction execution (as opposed to asynchronous/enqueued).- Add MySQL errno 1213 "Deadlock found when trying to get lock; try restarting transaction" handler. If 1213 is called the core will retry to directly execute the transaction a maximum of 5 times.* Properly deallocate SQLOperation objects from Databaseworkerpool queue.* Add MySQL errno 1054 to ignored error messages.* Properly manage mysql library initialization and shutdown in authserver and worldserver. Prevent multiple calls and make it more elegant.* Use default parameters for DatabaseWorker::activate. Fixes a possible desyncrhonisation issue when DatabaseWorkerPool calls wait() on the workers.* Replace prepared statement arrays with a map to avoid asynchronous indexes at query logging or error output- Add values to prepared statement query log messages- Killed a bit Engrish and trailing white whitespaces* CHAR_DEL_AUCTION should be defined as asynchronous. Fixes a crash caused by assertion failure.
Подробнее