69                size_t table_name_len_arg) {
 
   93  const char *
table_type()
 const override { 
return "MRG_MyISAM"; }
 
  115                                     [[maybe_unused]])
 const override {
 
  122  int open(
const char *
name, 
int mode, uint test_if_locked_arg,
 
  128  int close(
void) 
override;
 
  151  int info(uint) 
override;
 
  152  int reset(
void) 
override;
 
  166                                  uint table_changes) 
override;
 
app_data_ptr new_data(u_int n, char *val, cons_type consensus)
 
Definition: sql_list.h:467
 
Represents one name of a MERGE child.
Definition: ha_myisammrg.h:48
 
LEX_STRING db
Definition: ha_myisammrg.h:54
 
enum_table_ref_type get_child_table_ref_type()
Definition: ha_myisammrg.h:58
 
LEX_STRING name
Definition: ha_myisammrg.h:55
 
void set_child_def_version(enum_table_ref_type child_table_ref_type, ulonglong version)
Definition: ha_myisammrg.h:62
 
ulonglong get_child_def_version()
Definition: ha_myisammrg.h:61
 
enum_table_ref_type m_child_table_ref_type
Definition: ha_myisammrg.h:50
 
Mrg_child_def(char *db_arg, size_t db_len_arg, char *table_name_arg, size_t table_name_len_arg)
Definition: ha_myisammrg.h:68
 
ulonglong m_child_def_version
Definition: ha_myisammrg.h:51
 
Using this class is fraught with peril, and you need to be very careful when doing so.
Definition: sql_string.h:167
 
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:36
 
Definition: ha_myisammrg.h:79
 
TABLE * table_ptr()
Definition: ha_myisammrg.h:164
 
double scan_time() override
Definition: ha_myisammrg.h:118
 
int extra(enum ha_extra_function operation) override
Storage engine specific implementation of ha_extra()
Definition: ha_myisammrg.cc:1178
 
int records(ha_rows *num_rows) override
Number of rows in table.
Definition: ha_myisammrg.cc:1413
 
int index_next_same(uchar *buf, const uchar *key, uint keylen) override
Definition: ha_myisammrg.cc:1065
 
int reset(void) override
Reset state of file to after 'open'.
Definition: ha_myisammrg.cc:1206
 
uint max_supported_keys() const override
Definition: ha_myisammrg.h:112
 
int attach_children(void)
Attach children to a MERGE table.
Definition: ha_myisammrg.cc:726
 
enum ha_key_alg get_default_index_algorithm() const override
Get default key algorithm for SE.
Definition: ha_myisammrg.h:94
 
bool check_if_incompatible_data(HA_CREATE_INFO *info, uint table_changes) override
Part of old, deprecated in-place ALTER API.
Definition: ha_myisammrg.cc:1401
 
void position(const uchar *record) override
Definition: ha_myisammrg.cc:1095
 
ha_myisammrg(handlerton *hton, TABLE_SHARE *table_arg)
Constructor.
Definition: ha_myisammrg.cc:137
 
List< Mrg_child_def > child_def_list
Definition: ha_myisammrg.h:86
 
int open(const char *name, int mode, uint test_if_locked_arg, const dd::Table *table_def) override
Open a MERGE parent table, but not its children.
Definition: ha_myisammrg.cc:307
 
const char * table_type() const override
The following can be called without an open handler.
Definition: ha_myisammrg.h:93
 
void append_create_info(String *packet) override
Definition: ha_myisammrg.cc:1363
 
int external_lock(THD *thd, int lock_type) override
Is not invoked for non-transactional temporary tables.
Definition: ha_myisammrg.cc:1219
 
int index_last(uchar *buf) override
Definition: ha_myisammrg.cc:1058
 
int rnd_init(bool scan) override
rnd_init() can be called two times without rnd_end() in between (it only makes sense if scan=1).
Definition: ha_myisammrg.cc:1076
 
int create(const char *name, TABLE *form, HA_CREATE_INFO *create_info, dd::Table *table_def) override
Create table (implementation).
Definition: ha_myisammrg.cc:1304
 
Table_ref * children_l
Definition: ha_myisammrg.h:87
 
uint max_supported_key_length() const override
Definition: ha_myisammrg.h:113
 
int delete_row(const uchar *buf) override
Definition: ha_myisammrg.cc:1004
 
void update_create_info(HA_CREATE_INFO *create_info) override
Update create info as part of ALTER TABLE.
Definition: ha_myisammrg.cc:1262
 
int check(THD *thd, HA_CHECK_OPT *check_opt) override
Definition: ha_myisammrg.cc:1409
 
int rnd_next(uchar *buf) override
Definition: ha_myisammrg.cc:1081
 
int index_next(uchar *buf) override
Definition: ha_myisammrg.cc:1037
 
bool is_index_algorithm_supported(enum ha_key_alg key_alg) const override
Check if SE supports specific key algorithm.
Definition: ha_myisammrg.h:97
 
handler * clone(const char *name, MEM_ROOT *mem_root) override
Returns a cloned instance of the current handler.
Definition: ha_myisammrg.cc:665
 
MEM_ROOT children_mem_root
Definition: ha_myisammrg.h:85
 
uint lock_count(void) const override
Get number of lock objects returned in store_lock.
Definition: ha_myisammrg.cc:1234
 
int index_prev(uchar *buf) override
Definition: ha_myisammrg.cc:1044
 
int write_row(uchar *buf) override
Write a row.
Definition: ha_myisammrg.cc:982
 
THR_LOCK_DATA ** store_lock(THD *thd, THR_LOCK_DATA **to, enum thr_lock_type lock_type) override
Is not invoked for non-transactional temporary tables.
Definition: ha_myisammrg.cc:1236
 
int detach_children(void)
Detach all children from a MERGE table and from the query list of tables.
Definition: ha_myisammrg.cc:864
 
int close(void) override
Close a MERGE parent table, but not its children.
Definition: ha_myisammrg.cc:968
 
int add_children_list(void)
Add list of MERGE children to a Table_ref chain.
Definition: ha_myisammrg.cc:387
 
int index_read_idx_map(uchar *buf, uint index, const uchar *key, key_part_map keypart_map, enum ha_rkey_function find_flag) override
Positions an index cursor to the index specified in argument.
Definition: ha_myisammrg.cc:1019
 
int info(uint) override
General method to gather info from handler.
Definition: ha_myisammrg.cc:1119
 
int index_read_map(uchar *buf, const uchar *key, key_part_map keypart_map, enum ha_rkey_function find_flag) override
Positions an index cursor to the index specified in the handle ('active_index').
Definition: ha_myisammrg.cc:1010
 
int update_row(const uchar *old_data, uchar *new_data) override
Update a single row.
Definition: ha_myisammrg.cc:998
 
int truncate(dd::Table *table_def) override
Quickly remove all rows from a table.
Definition: ha_myisammrg.cc:1107
 
uint max_supported_key_part_length(HA_CREATE_INFO *create_info) const override
Definition: ha_myisammrg.h:114
 
MYRG_INFO * file
Definition: ha_myisammrg.h:80
 
ulonglong table_flags() const override
Definition: ha_myisammrg.h:100
 
Table_ref ** children_last_l
Definition: ha_myisammrg.h:88
 
int extra_opt(enum ha_extra_function operation, ulong cache_size) override
Definition: ha_myisammrg.cc:1213
 
int index_read_last_map(uchar *buf, const uchar *key, key_part_map keypart_map) override
The following functions works like index_read, but it find the last row with the current key value or...
Definition: ha_myisammrg.cc:1028
 
bool is_cloned
Definition: ha_myisammrg.h:81
 
~ha_myisammrg() override=default
 
ulong index_flags(uint inx, uint, bool) const override
Definition: ha_myisammrg.h:106
 
MYRG_INFO * myrg_info()
Definition: ha_myisammrg.h:163
 
ha_rows records_in_range(uint inx, key_range *min_key, key_range *max_key) override
Find number of records in a range.
Definition: ha_myisammrg.cc:1101
 
uint test_if_locked
Definition: ha_myisammrg.h:89
 
int index_first(uchar *buf) override
Definition: ha_myisammrg.cc:1051
 
int rnd_pos(uchar *buf, uchar *pos) override
Definition: ha_myisammrg.cc:1088
 
The handler class is the interface for dynamically loadable storage engines.
Definition: handler.h:4571
 
TABLE_SHARE * table_share
Definition: handler.h:4578
 
TABLE * table
Definition: handler.h:4579
 
A table definition from the master.
Definition: rpl_utility.h:248
 
static MEM_ROOT mem_root
Definition: client_plugin.cc:114
 
ha_key_alg
Definition: my_base.h:98
 
@ HA_KEY_ALG_RTREE
Definition: my_base.h:109
 
@ HA_KEY_ALG_BTREE
Definition: my_base.h:108
 
@ HA_KEY_ALG_FULLTEXT
Definition: my_base.h:111
 
ha_rkey_function
Definition: my_base.h:78
 
ulong key_part_map
Definition: my_base.h:1008
 
my_off_t ha_rows
Definition: my_base.h:1141
 
ha_extra_function
Definition: my_base.h:185
 
Utility functions for converting between ulonglong and double.
 
#define ulonglong2double(A)
Definition: my_double2ulonglong.h:46
 
Some integer typedefs for easier portability.
 
unsigned long long int ulonglong
Definition: my_inttypes.h:56
 
unsigned char uchar
Definition: my_inttypes.h:52
 
Common #defines and includes for file and socket I/O.
 
#define FN_REFLEN
Definition: my_io.h:83
 
constexpr const size_t IO_SIZE
Definition: my_io.h:159
 
#define MI_MAX_KEY_LENGTH
Definition: myisam.h:63
 
#define MI_MAX_KEY
Definition: myisam.h:55
 
This file should be included when using merge isam functions.
 
PSI_memory_key rg_key_memory_children
Definition: myrg_static.cc:46
 
static int record
Definition: mysqltest.cc:195
 
Definition: buf0block_hint.cc:30
 
mode
Definition: file_handle.h:61
 
required string key
Definition: replication_asynchronous_connection_failover.proto:60
 
required uint64 version
Definition: replication_group_member_actions.proto:41
 
#define HA_COUNT_ROWS_INSTANT
Definition: handler.h:340
 
#define HA_BINLOG_ROW_CAPABLE
Definition: handler.h:347
 
#define HA_NO_COPY_ON_ALTER
Definition: handler.h:339
 
#define HA_CAN_BIT_FIELD
Definition: handler.h:337
 
#define HA_FILE_BASED
Definition: handler.h:332
 
#define HA_CAN_INDEX_BLOBS
Definition: handler.h:265
 
#define HA_READ_NEXT
Definition: handler.h:534
 
#define HA_KEYREAD_ONLY
Definition: handler.h:579
 
#define HA_ANY_INDEX_MAY_BE_UNIQUE
Definition: handler.h:338
 
#define HA_BINLOG_STMT_CAPABLE
Definition: handler.h:348
 
#define HA_DUPLICATE_POS
Definition: handler.h:259
 
#define HA_READ_ORDER
Definition: handler.h:550
 
#define HA_READ_RANGE
Definition: handler.h:557
 
#define HA_NO_TRANSACTIONS
Definition: handler.h:218
 
#define HA_AUTO_PART_KEY
Definition: handler.h:270
 
#define HA_NULL_IN_KEY
Definition: handler.h:253
 
#define HA_READ_PREV
Definition: handler.h:538
 
enum_table_ref_type
Enumerate possible types of a table from re-execution standpoint.
Definition: table.h:178
 
@ TABLE_REF_NULL
Initial value set by the parser.
Definition: table.h:180
 
case opt name
Definition: sslopt-case.h:29
 
Definition: handler.h:3791
 
Struct to hold information about the table that should be created.
Definition: handler.h:3202
 
The MEM_ROOT is a simple arena, where allocations are carved out of larger blocks.
Definition: my_alloc.h:83
 
Definition: myisammrg.h:72
 
Definition: mysql_lex_string.h:35
 
char * str
Definition: mysql_lex_string.h:36
 
size_t length
Definition: mysql_lex_string.h:37
 
This structure is shared between different table objects.
Definition: table.h:702
 
KEY * key_info
Definition: table.h:752
 
Definition: thr_lock.h:124
 
handlerton is a singleton structure - one instance per storage engine - to provide access to storage ...
Definition: handler.h:2734
 
Definition: my_base.h:1125
 
Definition: mysqlslap.cc:240
 
thr_lock_type
Definition: thr_lock.h:51
 
static uint64_t cache_size
Definition: xcom_cache.cc:362