Hi, Nikita! May be you don't need to truncate the transaction cache, but can log SAVEPOINT and ROLLBACK TO SAVEPOINT as Query_log_event? That's easier.
Normal binlogging does it if the "transaction" modifies some non-transactional tables. But you can just do it unconditionally. Let's keep it as a lower-priority task, though, for after the rest is done. On Nov 24, Nikita Malyavin wrote: > On Mon, 15 Nov 2021 at 16:07, Sergei Golubchik wrote: > > > Hi, Nikita! > > > > On Nov 15, Nikita Malyavin wrote: > > > revision-id: 9277b838aad (mariadb-10.5.2-485-g9277b838aad) > > > parent(s): 37b6f5cb8ef > > > author: Nikita Malyavin > > > committer: Nikita Malyavin > > > timestamp: 2021-01-29 03:47:52 +1000 > > > message: > > > > > > Forbid savepoints setup while ONLINE ALTER goes on > > > > Why is that? > > Well, in short, it's not implemented. If rollback to savepoint is > happened, we should rollback in our transaction cache as well. > > Then we need to remember where the savepoint is, for every online > altering table. It likely resolves with maintaining a hash Savepoint > -> List [ <table, offset> ] > > But now rollback would sole an effect after ALTER TABLE is finished > Regards, Sergei VP of MariaDB Server Engineering and secur...@mariadb.org _______________________________________________ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp