MySQL 9.1.0
Source Code Documentation
Sql_cmd_xa_recover Class Reference

This class represents the XA RECOVER SQL statement which returns to a client a list of XID's prepared to a XA commit/rollback. More...

#include <sql_xa_recover.h>

Inheritance diagram for Sql_cmd_xa_recover:
[legend]

Public Member Functions

 Sql_cmd_xa_recover (bool print_xid_as_hex)
 Class constructor. More...
 
virtual ~Sql_cmd_xa_recover () override=default
 
enum_sql_command sql_command_code () const override
 Retrieves the SQL command code for this class, SQLCOM_XA_RECOVER. More...
 
bool execute (THD *thd) override
 Executes the SQL command. More...
 
- 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_statementowner () 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_CSTRINGeligible_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 handlertonsecondary_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_recover (THD *thd)
 Return the list of XID's to a client, the same way SHOW commands do. More...
 
bool check_xa_recover_privilege (THD *thd) const
 Check if the current user has a privilege to perform XA RECOVER. More...
 

Private Attributes

bool m_print_xid_as_hex
 Whether or not the XID should be printed in hexadecimal form. More...
 

Additional Inherited Members

- Protected Member Functions inherited from Sql_cmd
 Sql_cmd ()
 
virtual ~Sql_cmd ()
 
void set_prepared ()
 Set this statement as prepared. More...
 

Detailed Description

This class represents the XA RECOVER SQL statement which returns to a client a list of XID's prepared to a XA commit/rollback.

See also
Sql_cmd

Constructor & Destructor Documentation

◆ Sql_cmd_xa_recover()

Sql_cmd_xa_recover::Sql_cmd_xa_recover ( bool  print_xid_as_hex)
explicit

Class constructor.

Parameters
print_xid_as_hexWhether or not to print the XID as hexadecimal.

◆ ~Sql_cmd_xa_recover()

virtual Sql_cmd_xa_recover::~Sql_cmd_xa_recover ( )
overridevirtualdefault

Member Function Documentation

◆ check_xa_recover_privilege()

bool Sql_cmd_xa_recover::check_xa_recover_privilege ( THD thd) const
private

Check if the current user has a privilege to perform XA RECOVER.

Parameters
thdThe THD session object within which the command is being executed.
Return values
falseA user has a privilege to perform XA RECOVER
trueA user doesn't have a privilege to perform XA RECOVER

◆ execute()

bool Sql_cmd_xa_recover::execute ( THD thd)
overridevirtual

Executes the SQL command.

See also
Sql_cmd::execute
Parameters
thdThe THD session object within which the command is being executed.
Returns
false if the execution is successful, true otherwise.

Implements Sql_cmd.

◆ sql_command_code()

enum_sql_command Sql_cmd_xa_recover::sql_command_code ( ) const
overridevirtual

Retrieves the SQL command code for this class, SQLCOM_XA_RECOVER.

See also
Sql_cmd::sql_command_code
Returns
The SQL command code for this class, SQLCOM_XA_RECOVER.

Implements Sql_cmd.

◆ trans_xa_recover()

bool Sql_cmd_xa_recover::trans_xa_recover ( THD thd)
private

Return the list of XID's to a client, the same way SHOW commands do.

Parameters
thdThe THD session object within which the command is being executed.
Return values
falseSuccess
trueFailure
Note
I didn't find in XA specs that an RM cannot return the same XID twice, so trans_xa_recover does not filter XID's to ensure uniqueness. It can be easily fixed later, if necessary.

Member Data Documentation

◆ m_print_xid_as_hex

bool Sql_cmd_xa_recover::m_print_xid_as_hex
private

Whether or not the XID should be printed in hexadecimal form.


The documentation for this class was generated from the following files: