mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Binlog-in-engine: Handle mixing transactional and non-transactional tables
When updating non-transactional tables inside a multi-statement transaction, and binlog_direct_non_transactional_updates=1, then the non-transactional updates are binlogged directly through the statement cache while the transaction cache is still being added to in the main transaction. Thus, move the engine_binlog_info out from binlog_cache_mngr and into the individual stmt/trx binlog_cache_data, so that we can have separate engine_binlog_info active for the statement and the transaction cache. Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>
This commit is contained in:
@@ -1599,9 +1599,9 @@ struct handlerton
|
||||
binlog_oob_data(). Can also change the pointer to point to different data
|
||||
(or set it to NULL).
|
||||
*/
|
||||
void (*binlog_oob_reset)(THD *thd, void **engine_data);
|
||||
void (*binlog_oob_reset)(void **engine_data);
|
||||
/* Call to allow engine to release the engine_data from binlog_oob_data(). */
|
||||
void (*binlog_oob_free)(THD *thd, void *engine_data);
|
||||
void (*binlog_oob_free)(void *engine_data);
|
||||
/*
|
||||
Obtain an object to allow reading from the binlog.
|
||||
The boolean argument wait_durable is set to true to require that
|
||||
|
Reference in New Issue
Block a user