24#ifndef PLUGIN_SECONDARY_ENGINE_MOCK_HA_MOCK_H_
25#define PLUGIN_SECONDARY_ENGINE_MOCK_HA_MOCK_H_
53 uint part_id)
override {
54 auto *primary_part_handler =
101 int open(
const char *name,
int mode,
unsigned int test_if_locked,
110 int rnd_pos(
unsigned char *,
unsigned char *)
override {
114 int info(
unsigned int)
override;
121 unsigned long index_flags(
unsigned int,
unsigned int,
bool)
const override;
150 bool error_if_not_loaded)
override;
Class for partitioning specific operations.
Definition: partition_handler.h:194
virtual void get_dynamic_partition_info(ha_statistics *stat_info, ha_checksum *check_sum, uint part_id)=0
Get dynamic table information from partition.
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:36
Definition: handler.h:4076
The handler class is the interface for dynamically loadable storage engines.
Definition: handler.h:4618
TABLE_SHARE * table_share
Definition: handler.h:4626
virtual Partition_handler * get_partition_handler()
Definition: handler.h:7236
ulonglong Table_flags
Definition: handler.h:4622
handler * ha_get_primary_handler() const
Get a pointer to a handler for the table in the primary storage engine, if this handler is for a tabl...
Definition: handler.h:7266
TABLE * table
Definition: handler.h:4627
The MOCK storage engine does not actually implement partitioning, but we support the Partition_handle...
Definition: ha_mock.h:47
const handler * m_engine
Definition: ha_mock.h:68
FakePartitionHandler(const handler *engine)
Definition: ha_mock.h:49
void set_part_info(partition_info *, bool) override
Set the partition info object to be used by the handler.
Definition: ha_mock.h:61
void get_dynamic_partition_info(ha_statistics *stat_info, ha_checksum *check_sum, uint part_id) override
Get dynamic table information from partition.
Definition: ha_mock.h:51
enum row_type get_partition_row_type(const dd::Table *, uint) override
Get partition row type from SE.
Definition: ha_mock.h:63
The MOCK storage engine is used for testing MySQL server functionality related to secondary storage e...
Definition: ha_mock.h:85
int rnd_init(bool) override
rnd_init() can be called two times without rnd_end() in between (it only makes sense if scan=1).
Definition: ha_mock.h:106
const char * table_type() const override
The following can be called without an open handler.
Definition: ha_mock.h:128
int create(const char *, TABLE *, HA_CREATE_INFO *, dd::Table *) override
Create table (implementation).
Definition: ha_mock.h:97
int unload_table(const char *db_name, const char *table_name, bool error_if_not_loaded) override
Unload the table from secondary engine.
Definition: ha_mock.cc:222
THR_LOCK_DATA m_lock
Definition: ha_mock.h:152
int close() override
Definition: ha_mock.h:104
void position(const unsigned char *) override
Definition: ha_mock.h:119
int info(unsigned int) override
Definition: ha_mock.cc:161
int load_table(const TABLE &table, bool *skip_metadata_update) override
Load table into the secondary engine.
Definition: ha_mock.cc:209
int rnd_pos(unsigned char *, unsigned char *) override
Definition: ha_mock.h:110
ha_rows records_in_range(unsigned int index, key_range *min_key, key_range *max_key) override
Definition: ha_mock.cc:195
unsigned long index_flags(unsigned int, unsigned int, bool) const override
Definition: ha_mock.cc:177
Table_flags table_flags() const override
Definition: ha_mock.cc:171
ha_mock(handlerton *hton, TABLE_SHARE *table_share)
Definition: ha_mock.cc:146
int rnd_next(unsigned char *) override
Definition: ha_mock.h:108
THR_LOCK_DATA ** store_lock(THD *thd, THR_LOCK_DATA **to, thr_lock_type lock_type) override
Is not invoked for non-transactional temporary tables.
Definition: ha_mock.cc:201
int open(const char *name, int mode, unsigned int test_if_locked, const dd::Table *table_def) override
Definition: ha_mock.cc:149
FakePartitionHandler m_part_handler
Definition: ha_mock.h:153
Partition_handler * get_partition_handler() override
Partition_handler.
Definition: ha_mock.h:92
Definition: partition_info.h:209
A table definition from the master.
Definition: rpl_utility.h:249
This file includes constants used by all storage engines.
my_off_t ha_rows
Definition: my_base.h:1141
#define HA_ERR_WRONG_COMMAND
Command not supported.
Definition: my_base.h:841
#define HA_ERR_END_OF_FILE
end in next/prev/first/last
Definition: my_base.h:853
std::uint32_t ha_checksum
Definition: my_checksum.h:106
The version of the current data dictionary table definitions.
Definition: dictionary_client.h:43
bool index(const std::string &value, const String &search_for, uint32_t *idx)
Definition: contains.h:75
Definition: ha_mock.cc:144
entry::Table Table
Definition: select.h:51
const char * table_name
Definition: rules_table_service.cc:56
const char * db_name
Definition: rules_table_service.cc:55
mode
Definition: file_handle.h:61
row_type
Definition: handler.h:686
@ ROW_TYPE_NOT_USED
Definition: handler.h:687
Struct to hold information about the table that should be created.
Definition: handler.h:3238
This structure is shared between different table objects.
Definition: table.h:708
Definition: thr_lock.h:124
handlerton is a singleton structure - one instance per storage engine - to provide access to storage ...
Definition: handler.h:2765
Definition: my_base.h:1125
thr_lock_type
Definition: thr_lock.h:51