mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +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:
@@ -645,7 +645,7 @@ struct st_mysql_storage_engine
|
||||
int interface_version;
|
||||
};
|
||||
|
||||
struct handlerton;
|
||||
struct transaction_participant;
|
||||
|
||||
|
||||
/*
|
||||
@@ -748,7 +748,7 @@ void mysql_query_cache_invalidate4(MYSQL_THD thd,
|
||||
/**
|
||||
Provide a handler data getter to simplify coding
|
||||
*/
|
||||
void *thd_get_ha_data(const MYSQL_THD thd, const struct handlerton *hton);
|
||||
void *thd_get_ha_data(const MYSQL_THD thd, const struct transaction_participant *hton);
|
||||
|
||||
|
||||
/**
|
||||
@@ -769,10 +769,10 @@ void *thd_get_ha_data(const MYSQL_THD thd, const struct handlerton *hton);
|
||||
thd_set_ha_data() in this connection before, storage engine
|
||||
plugin lock gets released.
|
||||
|
||||
If handlerton::close_connection() didn't reset ha_data, server does
|
||||
it immediately after calling handlerton::close_connection().
|
||||
If transaction_participant::close_connection() didn't reset ha_data, server
|
||||
does it immediately after calling transaction_participant::close_connection()
|
||||
*/
|
||||
void thd_set_ha_data(MYSQL_THD thd, const struct handlerton *hton,
|
||||
void thd_set_ha_data(MYSQL_THD thd, const struct transaction_participant *hton,
|
||||
const void *ha_data);
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user