MySQL 8.0.40
Source Code Documentation
table_user_defined_functions Class Reference

Table PERFORMANCE_SCHEMA.USER_DEFINED_FUNCTIONS. More...

#include <table_user_defined_functions.h>

Inheritance diagram for table_user_defined_functions:
[legend]

Public Member Functions

void reset_position () override
 Reset the cursor position to the beginning of the table. 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_user_defined_functions () override=default
 
- 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 rnd_init (bool scan)
 Initialize table scan. 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 *)
 
static ha_rows get_row_count ()
 
- 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...
 

Static Public Attributes

static PFS_engine_table_share m_share
 Table share. More...
 

Protected Member Functions

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

Private Member Functions

void materialize (THD *thd)
 

Static Private Member Functions

static int make_row (const udf_func *entry, row_user_defined_functions *row)
 
static void materialize_udf_funcs (udf_func *udf, void *arg)
 

Private Attributes

row_user_defined_functionsm_all_rows
 
uint m_row_count
 
row_user_defined_functionsm_row
 Current row. More...
 
PFS_simple_index m_pos
 Current position. More...
 
PFS_simple_index m_next_pos
 Next position. More...
 
PFS_index_user_defined_functionsm_opened_index
 

Static Private Attributes

static THR_LOCK m_table_lock
 Table share lock. More...
 
static Plugin_table m_table_def
 Table definition. More...
 

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...
 

Detailed Description

Table PERFORMANCE_SCHEMA.USER_DEFINED_FUNCTIONS.

Constructor & Destructor Documentation

◆ table_user_defined_functions()

table_user_defined_functions::table_user_defined_functions ( )
protected

◆ ~table_user_defined_functions()

table_user_defined_functions::~table_user_defined_functions ( )
overridedefault

Member Function Documentation

◆ create()

PFS_engine_table * table_user_defined_functions::create ( PFS_engine_table_share )
static

◆ get_row_count()

ha_rows table_user_defined_functions::get_row_count ( )
static

◆ index_init()

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

Reimplemented from PFS_engine_table.

◆ index_next()

int table_user_defined_functions::index_next ( )
overridevirtual

Find key in index, read record.

Reimplemented from PFS_engine_table.

◆ make_row()

int table_user_defined_functions::make_row ( const udf_func entry,
row_user_defined_functions row 
)
staticprivate

not valid for UDFs

char *, to be converted to/from a decimal

◆ materialize()

void table_user_defined_functions::materialize ( THD thd)
private

◆ materialize_udf_funcs()

void table_user_defined_functions::materialize_udf_funcs ( udf_func udf,
void *  arg 
)
staticprivate

◆ read_row_values()

int table_user_defined_functions::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_user_defined_functions::reset_position ( )
overridevirtual

Reset the cursor position to the beginning of the table.

Implements PFS_engine_table.

◆ rnd_next()

int table_user_defined_functions::rnd_next ( )
overridevirtual

Fetch the next row in this cursor.

Implements PFS_engine_table.

◆ rnd_pos()

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

Fetch a row by position.

Parameters
posposition to fetch

Implements PFS_engine_table.

Member Data Documentation

◆ m_all_rows

row_user_defined_functions* table_user_defined_functions::m_all_rows
private

◆ m_next_pos

PFS_simple_index table_user_defined_functions::m_next_pos
private

Next position.

◆ m_opened_index

PFS_index_user_defined_functions* table_user_defined_functions::m_opened_index
private

◆ m_pos

PFS_simple_index table_user_defined_functions::m_pos
private

Current position.

◆ m_row

row_user_defined_functions* table_user_defined_functions::m_row
private

Current row.

◆ m_row_count

uint table_user_defined_functions::m_row_count
private

◆ m_share

PFS_engine_table_share table_user_defined_functions::m_share
static
Initial value:
= {
nullptr,
nullptr,
sizeof(PFS_simple_index),
false,
{0},
false
}
static ha_rows get_row_count()
Definition: table_user_defined_functions.cc:93
static THR_LOCK m_table_lock
Table share lock.
Definition: table_user_defined_functions.h:124
static PFS_engine_table * create(PFS_engine_table_share *)
Definition: table_user_defined_functions.cc:82
static Plugin_table m_table_def
Table definition.
Definition: table_user_defined_functions.h:138
PFS_readonly_acl pfs_readonly_acl
Singleton instance of PFS_readonly_acl.
Definition: pfs_engine_table.cc:1026
struct PFS_engine_table_proxy PFS_engine_table_proxy
Definition: pfs_plugin_table_service.h:431
Position of a cursor, for simple iterations.
Definition: pfs_engine_table.h:567

Table share.

◆ m_table_def

Plugin_table table_user_defined_functions::m_table_def
staticprivate

Table definition.

◆ m_table_lock

THR_LOCK table_user_defined_functions::m_table_lock
staticprivate

Table share lock.


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