MySQL 9.1.0
Source Code Documentation
table_plugin_table Class Reference

#include <table_plugin_table.h>

Inheritance diagram for table_plugin_table:
[legend]

Public Member Functions

int delete_all_rows ()
 
void reset_position () override
 Reset the cursor position to the beginning of the table. More...
 
int rnd_init (bool scan) override
 Initialize table scan. More...
 
int rnd_next () override
 Fetch the next row in this cursor. More...
 
int rnd_pos (const void *pos) override
 Fetch a row by position. More...
 
int index_init (uint idx, bool sorted) override
 
int index_next () override
 Find key in index, read record. More...
 
 table_plugin_table (PFS_engine_table_share *share)
 
 ~table_plugin_table () override
 
- Public Member Functions inherited from PFS_engine_table
int read_row (TABLE *table, unsigned char *buf, Field **fields)
 Read a table row. More...
 
int update_row (TABLE *table, const unsigned char *old_buf, unsigned char *new_buf, Field **fields)
 Update a table row. More...
 
int delete_row (TABLE *table, const unsigned char *buf, Field **fields)
 Delete a row from this table. More...
 
virtual int index_read (KEY *key_infos, uint index, const uchar *key, uint key_len, enum ha_rkey_function find_flag)
 Positions an index cursor to the index specified in the handle. More...
 
virtual int index_read_last (KEY *key_infos, const uchar *key, uint key_len)
 
virtual int index_next_same (const uchar *key, uint key_len)
 Reads the next row matching the given key value. More...
 
virtual int index_prev ()
 
virtual int index_first ()
 
virtual int index_last ()
 
void get_position (void *ref)
 Get the position of the current row. More...
 
void set_position (const void *ref)
 Set the table cursor at a given position. More...
 
virtual ~PFS_engine_table ()=default
 Destructor. More...
 

Static Public Member Functions

static PFS_engine_tablecreate (PFS_engine_table_share *share)
 
- Static Public Member Functions inherited from PFS_engine_table
static PFS_engine_table_sharefind_engine_table_share (const char *name)
 Find a table share by name. More...
 

Public Attributes

PFS_engine_table_sharem_share
 Table share. More...
 
PFS_engine_table_proxym_st_table
 
PSI_table_handleplugin_table_handle
 

Protected Member Functions

int read_row_values (TABLE *table, unsigned char *buf, Field **fields, bool read_all) override
 Read the current row values. More...
 
int update_row_values (TABLE *table, const unsigned char *, unsigned char *, Field **fields) override
 Update the current row values. More...
 
int delete_row_values (TABLE *table, const unsigned char *buf, Field **fields) override
 Delete a row. More...
 
- Protected Member Functions inherited from PFS_engine_table
 PFS_engine_table (const PFS_engine_table_share *share, void *pos)
 Constructor. More...
 

Private Attributes

THR_LOCKm_table_lock
 Table share lock. More...
 
bool m_row_exists
 True is the current row exists. More...
 
PSI_posm_pos
 Current position. More...
 
PSI_posm_next_pos
 Next position. More...
 
PFS_plugin_table_indexm_opened_index
 

Additional Inherited Members

- Protected Attributes inherited from PFS_engine_table
const PFS_engine_table_sharem_share_ptr
 Table share. More...
 
void * m_pos_ptr
 Opaque pointer to the m_pos position of this cursor. More...
 
time_normalizerm_normalizer
 Current normalizer. More...
 
PFS_engine_index_abstractm_index
 Current index. More...
 

Constructor & Destructor Documentation

◆ table_plugin_table()

table_plugin_table::table_plugin_table ( PFS_engine_table_share share)
explicit

◆ ~table_plugin_table()

table_plugin_table::~table_plugin_table ( )
inlineoverride

Member Function Documentation

◆ create()

PFS_engine_table * table_plugin_table::create ( PFS_engine_table_share share)
static

◆ delete_all_rows()

int table_plugin_table::delete_all_rows ( void  )

◆ delete_row_values()

int table_plugin_table::delete_row_values ( TABLE table,
const unsigned char *  buf,
Field **  fields 
)
overrideprotectedvirtual

Delete a row.

Parameters
tableTable handle
bufRow buffer
fieldsTable fields

Reimplemented from PFS_engine_table.

◆ index_init()

int table_plugin_table::index_init ( uint  idx,
bool  sorted 
)
overridevirtual

Reimplemented from PFS_engine_table.

◆ index_next()

int table_plugin_table::index_next ( )
overridevirtual

Find key in index, read record.

Reimplemented from PFS_engine_table.

◆ read_row_values()

int table_plugin_table::read_row_values ( TABLE table,
unsigned char *  buf,
Field **  fields,
bool  read_all 
)
overrideprotectedvirtual

Read the current row values.

Parameters
tableTable handle
bufrow buffer
fieldsTable fields
read_alltrue if all columns are read.

Implements PFS_engine_table.

◆ reset_position()

void table_plugin_table::reset_position ( )
overridevirtual

Reset the cursor position to the beginning of the table.

Implements PFS_engine_table.

◆ rnd_init()

int table_plugin_table::rnd_init ( bool  scan)
overridevirtual

Initialize table scan.

Reimplemented from PFS_engine_table.

◆ rnd_next()

int table_plugin_table::rnd_next ( )
overridevirtual

Fetch the next row in this cursor.

Implements PFS_engine_table.

◆ rnd_pos()

int table_plugin_table::rnd_pos ( const void *  pos)
overridevirtual

Fetch a row by position.

Parameters
posposition to fetch

Implements PFS_engine_table.

◆ update_row_values()

int table_plugin_table::update_row_values ( TABLE table,
const unsigned char *  old_buf,
unsigned char *  new_buf,
Field **  fields 
)
overrideprotectedvirtual

Update the current row values.

Parameters
tableTable handle
old_bufold row buffer
new_bufnew row buffer
fieldsTable fields

Reimplemented from PFS_engine_table.

Member Data Documentation

◆ m_next_pos

PSI_pos* table_plugin_table::m_next_pos
private

Next position.

◆ m_opened_index

PFS_plugin_table_index* table_plugin_table::m_opened_index
private

◆ m_pos

PSI_pos* table_plugin_table::m_pos
private

Current position.

◆ m_row_exists

bool table_plugin_table::m_row_exists
private

True is the current row exists.

◆ m_share

PFS_engine_table_share* table_plugin_table::m_share

Table share.

◆ m_st_table

PFS_engine_table_proxy* table_plugin_table::m_st_table

◆ m_table_lock

THR_LOCK* table_plugin_table::m_table_lock
private

Table share lock.

◆ plugin_table_handle

PSI_table_handle* table_plugin_table::plugin_table_handle

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