MySQL 8.0.39
Source Code Documentation
|
Cursor CURSOR_BY_ERROR_LOG for error_log table. More...
#include <cursor_by_error_log.h>
Public Member Functions | |
void | reset_position () override |
Reset cursor position. More... | |
int | rnd_next () override |
Read next row (from ring-buffer into table). More... | |
int | rnd_pos (const void *pos) override |
Random pos. More... | |
int | index_next () override |
Go to next entry in index and retrieve the matching error log event. More... | |
~cursor_by_error_log () 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_init (uint idx, bool sorted) |
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 ha_rows | get_row_count () |
Get row-count (by getting the number of events in the ring-buffer) More... | |
Static Public Member Functions inherited from PFS_engine_table | |
static PFS_engine_table_share * | find_engine_table_share (const char *name) |
Find a table share by name. More... | |
Protected Member Functions | |
cursor_by_error_log (const PFS_engine_table_share *share) | |
virtual int | make_row (log_sink_pfs_event *row)=0 |
Protected Member Functions inherited from PFS_engine_table | |
virtual int | read_row_values (TABLE *table, unsigned char *buf, Field **fields, bool read_all)=0 |
Read the current row values. More... | |
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... | |
Protected Attributes | |
PFS_index_error_log * | m_opened_index |
Protected Attributes inherited from PFS_engine_table | |
const PFS_engine_table_share * | m_share_ptr |
Table share. More... | |
void * | m_pos_ptr |
Opaque pointer to the m_pos position of this cursor. More... | |
time_normalizer * | m_normalizer |
Current normalizer. More... | |
PFS_engine_index_abstract * | m_index |
Current index. More... | |
Private Attributes | |
pos_t | m_pos |
Current position. More... | |
pos_t | m_next_pos |
Next position. More... | |
Cursor CURSOR_BY_ERROR_LOG for error_log table.
|
explicitprotected |
|
overridedefault |
|
static |
Get row-count (by getting the number of events in the ring-buffer)
|
overridevirtual |
Go to next entry in index and retrieve the matching error log event.
We come through here e.g. for = in the SELECT's condition, i.e. HA_READ_KEY_EXACT.
HA_ERR_END_OF_FILE | failed to locate data, or to create a row from it |
0 | success |
Reimplemented from PFS_engine_table.
|
protectedpure virtual |
Implemented in table_error_log.
|
overridevirtual |
Reset cursor position.
We come through here when using a condition (rather than just ORDER BY [ASC/DESC]) in SELECT, e.g. in the form of ha_perfschema::index_read with HA_READ_KEY_EXACT when using =.
We don't need a lock here since the reset breaks the association with the ring-buffer; it will be re-established on the first read- style primitive (reading a "row" of payload from the ring-buffer, or trying to advance to the next entry, either of which will imply log_sink_pfs_event_first() at some point).
Implements PFS_engine_table.
|
overridevirtual |
Read next row (from ring-buffer into table).
We come through here when not using an index.
HA_ERR_END_OF_FILE | failed to locate data, or to create a row from it |
0 | success |
Implements PFS_engine_table.
|
overridevirtual |
Random pos.
Unused.
HA_ERR_RECORD_DELETED | failed to locate data/to create a row from it |
0 | success |
Implements PFS_engine_table.
|
private |
Next position.
|
protected |
|
private |
Current position.