diff options
author | Sergey Vojtovich <svoj@mariadb.org> | 2019-04-18 14:43:40 +0400 |
---|---|---|
committer | Sergey Vojtovich <svoj@mariadb.org> | 2019-04-25 15:06:40 +0400 |
commit | 07140f171d8c81d241ef4fd7e8e53afa2d269b16 (patch) | |
tree | 18201b76c97e4511a9cb8967c11031bec52f6a60 /sql/sql_class.h | |
parent | ca7fbcea6c4fe13c295cf43b80d05351aba59e95 (diff) | |
download | mariadb-git-07140f171d8c81d241ef4fd7e8e53afa2d269b16.tar.gz |
Just move, no code changes otherwise.
Part of MDEV-7974 - backport fix for mysql bug#12161 (XA and binlog)
Diffstat (limited to 'sql/sql_class.h')
-rw-r--r-- | sql/sql_class.h | 45 |
1 files changed, 1 insertions, 44 deletions
diff --git a/sql/sql_class.h b/sql/sql_class.h index f8dd9f78500..c68628be65d 100644 --- a/sql/sql_class.h +++ b/sql/sql_class.h @@ -47,6 +47,7 @@ #include <mysql_com_server.h> #include "session_tracker.h" #include "backup.h" +#include "xa.h" extern "C" void set_thd_stage_info(void *thd, @@ -1276,50 +1277,6 @@ struct st_savepoint { MDL_savepoint mdl_savepoint; }; -enum xa_states {XA_NOTR=0, XA_ACTIVE, XA_IDLE, XA_PREPARED, XA_ROLLBACK_ONLY}; -extern const char *xa_state_names[]; -class XID_cache_element; - -typedef struct st_xid_state { - /* For now, this is only used to catch duplicated external xids */ - XID xid; // transaction identifier - enum xa_states xa_state; // used by external XA only - /* Error reported by the Resource Manager (RM) to the Transaction Manager. */ - uint rm_error; - XID_cache_element *xid_cache_element; - - /** - Check that XA transaction has an uncommitted work. Report an error - to the user in case when there is an uncommitted work for XA transaction. - - @return result of check - @retval false XA transaction is NOT in state IDLE, PREPARED - or ROLLBACK_ONLY. - @retval true XA transaction is in state IDLE or PREPARED - or ROLLBACK_ONLY. - */ - - bool check_has_uncommitted_xa() const - { - if (xa_state == XA_IDLE || - xa_state == XA_PREPARED || - xa_state == XA_ROLLBACK_ONLY) - { - my_error(ER_XAER_RMFAIL, MYF(0), xa_state_names[xa_state]); - return true; - } - return false; - } -} XID_STATE; - -void xid_cache_init(void); -void xid_cache_free(void); -XID_STATE *xid_cache_search(THD *thd, XID *xid); -bool xid_cache_insert(XID *xid, enum xa_states xa_state); -bool xid_cache_insert(THD *thd, XID_STATE *xid_state); -void xid_cache_delete(THD *thd, XID_STATE *xid_state); -int xid_cache_iterate(THD *thd, my_hash_walk_action action, void *argument); - /** @class Security_context @brief A set of THD members describing the current authenticated user. |