MySQL 26.10.0
Source Code Documentation
mrs_component::Table_accessor Class Reference

RAII wrapper around MySQL Table Access services. More...

#include <mrs_component_table_access.h>

Classes

struct  Ticket
 

Public Member Functions

 ~Table_accessor ()
 
 Table_accessor ()=delete
 
 Table_accessor (const Table_accessor &)=delete
 
Table_accessor & operator= (const Table_accessor &)=delete
 
 Table_accessor (Table_accessor &&)=delete
 
Table_accessor & operator= (Table_accessor &&)=delete
 
bool valid () const
 
Ticket add_table_read (const char *schema, const char *table)
 
Ticket add_table_write (const char *schema, const char *table)
 
bool begin ()
 
bool materialize_tables (std::vector< Ticket > &tickets)
 
bool materialize_table (Ticket &ticket)
 
bool scan (TA_table t, const std::function< bool(TA_table)> &on_row)
 
bool get_varchar (TA_table t, int col, std::string &out) const
 

Static Public Member Functions

static Table_accessor make_with_current_ctx (size_t max_tables=4)
 

Private Member Functions

 Table_accessor (MYSQL_THD thd, size_t max_tables)
 
Ticket add_table (const char *schema, const char *table, TA_lock_type mode)
 

Private Attributes

Table_access ta_ {nullptr}
 
MYSQL_THD thd_ {nullptr}
 

Detailed Description

RAII wrapper around MySQL Table Access services.

Handles:

  • session creation/destruction
  • table registration/open
  • simple row scanning
  • VARCHAR field getter

Constructor & Destructor Documentation

◆ ~Table_accessor()

mrs_component::Table_accessor::~Table_accessor ( )

◆ Table_accessor() [1/4]

mrs_component::Table_accessor::Table_accessor ( )
delete

◆ Table_accessor() [2/4]

mrs_component::Table_accessor::Table_accessor ( const Table_accessor &  )
delete

◆ Table_accessor() [3/4]

mrs_component::Table_accessor::Table_accessor ( Table_accessor &&  )
delete

◆ Table_accessor() [4/4]

mrs_component::Table_accessor::Table_accessor ( MYSQL_THD  thd,
size_t  max_tables 
)
private

Member Function Documentation

◆ add_table()

Table_accessor::Ticket mrs_component::Table_accessor::add_table ( const char *  schema,
const char *  table,
TA_lock_type  mode 
)
private

◆ add_table_read()

Table_accessor::Ticket mrs_component::Table_accessor::add_table_read ( const char *  schema,
const char *  table 
)

◆ add_table_write()

Table_accessor::Ticket mrs_component::Table_accessor::add_table_write ( const char *  schema,
const char *  table 
)

◆ begin()

bool mrs_component::Table_accessor::begin ( )

◆ get_varchar()

bool mrs_component::Table_accessor::get_varchar ( TA_table  t,
int  col,
std::string &  out 
) const

◆ make_with_current_ctx()

Table_accessor mrs_component::Table_accessor::make_with_current_ctx ( size_t  max_tables = 4)
static

◆ materialize_table()

bool mrs_component::Table_accessor::materialize_table ( Ticket &  ticket)

◆ materialize_tables()

bool mrs_component::Table_accessor::materialize_tables ( std::vector< Ticket > &  tickets)

◆ operator=() [1/2]

Table_accessor & mrs_component::Table_accessor::operator= ( const Table_accessor &  )
delete

◆ operator=() [2/2]

Table_accessor & mrs_component::Table_accessor::operator= ( Table_accessor &&  )
delete

◆ scan()

bool mrs_component::Table_accessor::scan ( TA_table  t,
const std::function< bool(TA_table)> &  on_row 
)

◆ valid()

bool mrs_component::Table_accessor::valid ( ) const
inline

Member Data Documentation

◆ ta_

Table_access mrs_component::Table_accessor::ta_ {nullptr}
private

◆ thd_

MYSQL_THD mrs_component::Table_accessor::thd_ {nullptr}
private

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