Hi,

I have made a separate struct XA_data to store online_alter_cache:
https://github.com/MariaDB/server/commit/a72605ce002897c65d184b476eeec51a1d146a5f

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