![]()  | 
  
    MySQL 8.0.44
    
   Source Code Documentation 
   | 
 
This class represents the XA ROLLBACK ... SQL statement which rollbacks and terminates an XA transaction with the given xid value.  
 More...
#include <sql_xa_rollback.h>
Public Member Functions | |
| Sql_cmd_xa_rollback (xid_t *xid_arg) | |
| Class constructor.  More... | |
| virtual | ~Sql_cmd_xa_rollback () override=default | 
| enum_sql_command | sql_command_code () const override | 
Retrieves the SQL command code for this class, SQLCOM_XA_ROLLBACK.  More... | |
| bool | execute (THD *thd) override | 
| Executes the SQL command.  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 bool | is_dml () const | 
| virtual bool | is_single_table_plan () const | 
| virtual bool | accept (THD *, Select_lex_visitor *) | 
| virtual const MYSQL_LEX_CSTRING * | eligible_secondary_storage_engine () const | 
| Is this statement of a type and on a form that makes it eligible for execution in a secondary storage engine?  More... | |
| void | disable_secondary_storage_engine () | 
| Disable use of secondary storage engines in this statement.  More... | |
| 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_rollback (THD *thd) | 
| Roll back and terminate a XA transaction.  More... | |
| bool | process_attached_xa_rollback (THD *thd) const | 
| Handle the statement XA ROLLBACK 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_rollback (THD *thd) | 
| Handle the statement XA ROLLBACK for the case when xid corresponds to an XA transaction that is detached from the thread's THD, that it a transaction that isn't part of the current's thread session context.  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 ROLLBACK ... SQL statement which rollbacks and terminates an XA transaction with the given xid value. 
      
  | 
  explicit | 
Class constructor.
| xid_arg | XID of the XA transacation about to be rolled back. | 
      
  | 
  overridevirtualdefault | 
      
  | 
  overridevirtual | 
Executes the SQL command.
| thd | The THD session object within which the command is being executed. | 
Implements Sql_cmd.
      
  | 
  private | 
Handle the statement XA ROLLBACK 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 ROLLBACK for the case when xid corresponds to an XA transaction that is detached from the thread's THD, that it a transaction that isn't part of the current's thread session context.
| 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_ROLLBACK. 
SQLCOM_XA_ROLLBACK. Implements Sql_cmd.
      
  | 
  private | 
Roll back and terminate a XA transaction.
| thd | The THD session object within which the command is being executed. | 
| false | Success | 
| true | Failure |