Hi, I have made a separate struct XA_data to store online_alter_cache: https://github.com/MariaDB/server/commit/a72605ce002897c65d184b476eeec51a1d1... I was thinking on whether to change the declaration in handlerton - this would require may changes. Besides that: int innobase_commit_by_xid( /*===================*/ handlerton* hton, XID* xid) /*!< in: X/Open XA transaction identification */ Innodb expects the second argument to be XID*, I suppose that many other engines do, too, so I don't want to make it less clear what the second argument is. I also decided not to leave the comment for the commit/rollback callbacks, since there's no use for this extension to the other engines apart from online alter, in the form it is done now. -- Yours truly, Nikita Malyavin