1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-05 13:16:09 +03:00

cleanup: extract transaction-related part of handlerton

into a separate transaction_participant structure

handlerton inherits it, so handlerton itself doesn't change.
but entities that only need to participate in a transaction,
like binlog or online alter log, use a transaction_participant
and no longer need to pretend to be a full-blown but invisible
storage engine which doesn't support create table.
This commit is contained in:
Sergei Golubchik
2024-09-11 19:32:38 +02:00
parent 126d6d787c
commit aed5928207
32 changed files with 670 additions and 724 deletions

View File

@@ -643,7 +643,7 @@ struct st_mysql_storage_engine
{
int interface_version;
};
struct handlerton;
struct transaction_participant;
struct Mysql_replication {
int interface_version;
};
@@ -671,8 +671,8 @@ void thd_get_xid(const THD* thd, MYSQL_XID *xid);
void mysql_query_cache_invalidate4(THD* thd,
const char *key, unsigned int key_length,
int using_trx);
void *thd_get_ha_data(const THD* thd, const struct handlerton *hton);
void thd_set_ha_data(THD* thd, const struct handlerton *hton,
void *thd_get_ha_data(const THD* thd, const struct transaction_participant *hton);
void thd_set_ha_data(THD* thd, const struct transaction_participant *hton,
const void *ha_data);
void thd_wakeup_subsequent_commits(THD* thd, int wakeup_error);
}