MySQL 9.1.0
Source Code Documentation
|
This class represents the XA COMMIT ...
SQL statement which commits and terminates an XA transaction with the given xid value.
More...
#include <sql_xa_commit.h>
Public Member Functions | |
Sql_cmd_xa_commit (xid_t *xid_arg, enum xa_option_words xa_option) | |
Class constructor. More... | |
virtual | ~Sql_cmd_xa_commit () override=default |
enum_sql_command | sql_command_code () const override |
Retrieves the SQL command code for this class, SQLCOM_XA_COMMIT . More... | |
bool | execute (THD *thd) override |
Executes the SQL command. More... | |
enum xa_option_words | get_xa_opt () const |
Retrieves this XA COMMIT extra options. More... | |
Public Member Functions inherited from Sql_cmd_xa_second_phase | |
Sql_cmd_xa_second_phase (xid_t *xid_arg) | |
Class constructor. More... | |
virtual | ~Sql_cmd_xa_second_phase () override=default |
Public Member Functions inherited from Sql_cmd | |
bool | needs_explicit_preparation () const |
bool | is_regular () const |
bool | is_prepared () const |
virtual bool | prepare (THD *) |
Prepare this SQL statement. More... | |
virtual bool | reprepare_on_execute_required () const |
Some SQL commands currently require re-preparation on re-execution of a prepared statement or stored procedure. More... | |
virtual void | cleanup (THD *) |
Command-specific reinitialization before execution of prepared statement. More... | |
void | set_owner (Prepared_statement *stmt) |
Set the owning prepared statement. More... | |
Prepared_statement * | owner () const |
Get the owning prepared statement. More... | |
void | set_as_part_of_sp () |
Mark statement as part of procedure. More... | |
bool | is_part_of_sp () const |
virtual enum enum_sql_cmd_type | sql_cmd_type () const |
virtual bool | is_single_table_plan () const |
virtual bool | accept (THD *, Select_lex_visitor *) |
virtual const MYSQL_LEX_CSTRING * | eligible_secondary_storage_engine (THD *) const |
Is this statement of a type and on a form that makes it eligible for execution in a secondary storage engine? More... | |
virtual bool | is_bulk_load () const |
virtual bool | are_dynamic_parameters_allowed () const |
void | disable_secondary_storage_engine () |
Disable use of secondary storage engines in this statement. More... | |
void | enable_secondary_storage_engine () |
bool | secondary_storage_engine_disabled () const |
Has use of secondary storage engines been disabled for this statement? More... | |
void | use_secondary_storage_engine (const handlerton *hton) |
Mark the current statement as using a secondary storage engine. More... | |
bool | using_secondary_storage_engine () const |
Is this statement using a secondary storage engine? More... | |
const handlerton * | secondary_engine () const |
Get the handlerton of the secondary engine that is used for executing this statement, or nullptr if a secondary engine is not used. More... | |
void | set_optional_transform_prepared (bool value) |
bool | is_optional_transform_prepared () |
Private Member Functions | |
bool | trans_xa_commit (THD *thd) |
Commit and terminate a XA transaction. More... | |
bool | process_attached_xa_commit (THD *thd) const |
Handle the statement XA COMMIT for the case when xid corresponds to an XA transaction that is attached to the thread's THD object, that is a transaction that is part of the current thread's session context. More... | |
bool | process_detached_xa_commit (THD *thd) |
Handle the statement XA COMMIT for the case when xid corresponds to an XA transaction that is detached from the thread's THD, that is a transaction that isn't part of the current's thread session context. More... | |
Private Attributes | |
enum xa_option_words | m_xa_opt |
Options associated with the underlying XA COMMIT More... | |
Additional Inherited Members | |
Protected Member Functions inherited from Sql_cmd_xa_second_phase | |
bool | find_and_initialize_xa_context (THD *thd) |
Tries to find and initialize the Transaction_ctx for the underlying detached XA transaction. More... | |
bool | acquire_locks (THD *thd) |
Tries to acquire the locks necessary to finalize the underlying detached XA transaction. More... | |
void | release_locks () const |
Release any locks acquires in acquire_locks still needing to be released. More... | |
void | setup_thd_context (THD *thd) |
Initializes the necessary parts of the thd parameter, transferring some of the detached XA transaction context to the active session. More... | |
bool | enter_commit_order (THD *thd) |
For replica applier threads, enters the wait on the commit order. More... | |
void | assign_xid_to_thd (THD *thd) const |
Sets the XID_STATE of the THD session object parameter as in detached state and copies into it the XID of the detached XA transaction. More... | |
void | exit_commit_order (THD *thd) const |
For replica applier threads, finishes the wait on the commit order and allows other threads to proceed. More... | |
void | cleanup_context (THD *thd) const |
Cleans up the THD context in order to prepare it for re-use. More... | |
void | dispose () |
Disposes of member variables that need it, because destructors for Sql_cmd classes aren't invoked (since they are created in the internal memory pool, memory is disposed as a all block). More... | |
Protected Member Functions inherited from Sql_cmd | |
Sql_cmd () | |
virtual | ~Sql_cmd () |
void | set_prepared () |
Set this statement as prepared. More... | |
Protected Attributes inherited from Sql_cmd_xa_second_phase | |
xid_t * | m_xid {nullptr} |
The XID associated with the underlying XA transaction. More... | |
MDL_savepoint | m_mdl_savepoint |
The MDL savepoint used to rollback the MDL context when transient errors occur. More... | |
std::shared_ptr< Transaction_ctx > | m_detached_trx_context {nullptr} |
The detached transaction context, retrieved from the transaction cache. More... | |
bool | m_gtid_error {false} |
Whether or not the initialization of GTIDs returned an error. More... | |
bool | m_need_clear_owned_gtid {false} |
Whether or not the OWNED_GTID related structures need to be cleaned. More... | |
bool | m_result {false} |
The incremental success of the several initialization and deinitialization steps. More... | |
This class represents the XA COMMIT ...
SQL statement which commits and terminates an XA transaction with the given xid value.
Sql_cmd_xa_commit::Sql_cmd_xa_commit | ( | xid_t * | xid_arg, |
enum xa_option_words | xa_option | ||
) |
Class constructor.
xid_arg | XID of the XA transacation about to be committed |
xa_option | Additional options for the XA COMMIT command |
|
overridevirtualdefault |
|
overridevirtual |
Executes the SQL command.
thd | The THD session object within which the command is being executed. |
Implements Sql_cmd.
enum xa_option_words Sql_cmd_xa_commit::get_xa_opt | ( | ) | const |
Retrieves this XA COMMIT
extra options.
XA COMMIT
extra options.
|
private |
Handle the statement XA COMMIT for the case when xid corresponds to an XA transaction that is attached to the thread's THD object, that is a transaction that is part of the current thread's session context.
thd | The THD session object within which the command is being executed. |
false | Success |
true | Failure |
|
private |
Handle the statement XA COMMIT for the case when xid corresponds to an XA transaction that is detached from the thread's THD, that is a transaction that isn't part of the current's thread session context.
When xa_detach_on_prepare is ON (default), this applies to all prepared XA transactions. That is, an XA transaction pepared earlier on this connection or on amy another connection, either still active or already disposed of.
thd | The THD session object within which the command is being executed. |
false | Success |
true | Failure |
|
overridevirtual |
Retrieves the SQL command code for this class, SQLCOM_XA_COMMIT
.
SQLCOM_XA_COMMIT
. Implements Sql_cmd.
|
private |
Commit and terminate a XA transaction.
thd | The THD session object within which the command is being executed. |
false | Success |
true | Failure |
|
private |
Options associated with the underlying XA COMMIT