|
| ha_blackhole (handlerton *hton, TABLE_SHARE *table_arg) |
|
| ~ha_blackhole () override=default |
|
const char * | table_type () const override |
| The following can be called without an open handler. More...
|
|
enum ha_key_alg | get_default_index_algorithm () const override |
| Get default key algorithm for SE. More...
|
|
bool | is_index_algorithm_supported (enum ha_key_alg key_alg) const override |
| Check if SE supports specific key algorithm. More...
|
|
ulonglong | table_flags () const override |
|
ulong | index_flags (uint inx, uint, bool) const override |
|
uint | max_supported_keys () const override |
|
uint | max_supported_key_length () const override |
|
uint | max_supported_key_part_length (HA_CREATE_INFO *create_info) const override |
|
int | open (const char *name, int mode, uint test_if_locked, const dd::Table *table_def) override |
|
int | close (void) override |
|
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). More...
|
|
int | rnd_next (uchar *buf) override |
|
int | rnd_pos (uchar *buf, uchar *pos) override |
|
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'). More...
|
|
int | index_read_idx_map (uchar *buf, uint idx, 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. More...
|
|
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 prefix. More...
|
|
int | index_next (uchar *buf) override |
|
int | index_prev (uchar *buf) override |
|
int | index_first (uchar *buf) override |
|
int | index_last (uchar *buf) override |
|
void | position (const uchar *record) override |
|
int | info (uint flag) override |
| General method to gather info from handler. More...
|
|
int | external_lock (THD *thd, int lock_type) override |
| Is not invoked for non-transactional temporary tables. More...
|
|
int | create (const char *name, TABLE *table_arg, HA_CREATE_INFO *create_info, dd::Table *table_def) override |
| Create table (implementation). More...
|
|
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. More...
|
|
FT_INFO * | ft_init_ext (uint flags, uint inx, String *key) override |
|
int | ft_init () override |
|
Public Member Functions inherited from handler |
void | unbind_psi () |
|
void | rebind_psi () |
|
void | start_psi_batch_mode () |
| Put the handler in 'batch' mode when collecting table io instrumented events. More...
|
|
void | end_psi_batch_mode () |
| End a batch started with start_psi_batch_mode . More...
|
|
bool | end_psi_batch_mode_if_started () |
| If a PSI batch was started, turn if off. More...
|
|
| handler (handlerton *ht_arg, TABLE_SHARE *share_arg) |
|
virtual | ~handler (void) |
|
virtual std::string | explain_extra () const |
| Return extra handler specific text for EXPLAIN. More...
|
|
virtual handler * | clone (const char *name, MEM_ROOT *mem_root) |
|
void | init () |
| This is called after create to allow us to set up cached variables. More...
|
|
void | ha_set_record_buffer (Record_buffer *buffer) |
| Set a record buffer that the storage engine can use for multi-row reads. More...
|
|
Record_buffer * | ha_get_record_buffer () const |
| Get the record buffer that was set with ha_set_record_buffer(). More...
|
|
bool | ha_is_record_buffer_wanted (ha_rows *const max_rows) const |
| Does this handler want to get a Record_buffer for multi-row reads via the ha_set_record_buffer() function? And if so, what is the maximum number of records to allocate space for in the buffer? More...
|
|
int | ha_open (TABLE *table, const char *name, int mode, int test_if_locked, const dd::Table *table_def) |
|
int | ha_close (void) |
| Close handler. More...
|
|
int | ha_index_init (uint idx, bool sorted) |
| Initialize use of index. More...
|
|
int | ha_index_end () |
| End use of index. More...
|
|
int | ha_rnd_init (bool scan) |
| Initialize table for random read or scan. More...
|
|
int | ha_rnd_end () |
| End use of random access. More...
|
|
int | ha_rnd_next (uchar *buf) |
| Read next row via random scan. More...
|
|
int | ha_rnd_pos (uchar *buf, uchar *pos) |
| Read row via random scan from position. More...
|
|
int | ha_index_read_map (uchar *buf, const uchar *key, key_part_map keypart_map, enum ha_rkey_function find_flag) |
| Read [part of] row via [part of] index. More...
|
|
int | ha_index_read_last_map (uchar *buf, const uchar *key, key_part_map keypart_map) |
|
int | ha_index_read_idx_map (uchar *buf, uint index, const uchar *key, key_part_map keypart_map, enum ha_rkey_function find_flag) |
| Initializes an index and read it. More...
|
|
int | ha_index_next (uchar *buf) |
| Reads the next row via index. More...
|
|
int | ha_index_prev (uchar *buf) |
| Reads the previous row via index. More...
|
|
int | ha_index_first (uchar *buf) |
| Reads the first row via index. More...
|
|
int | ha_index_last (uchar *buf) |
| Reads the last row via index. More...
|
|
int | ha_index_next_same (uchar *buf, const uchar *key, uint keylen) |
| Reads the next same row via index. More...
|
|
int | ha_reset () |
| Check handler usage and reset state of file to after 'open'. More...
|
|
int | ha_index_or_rnd_end () |
|
Table_flags | ha_table_flags () const |
| The cached_table_flags is set at ha_open and ha_external_lock. More...
|
|
int | ha_external_lock (THD *thd, int lock_type) |
| These functions represent the public interface to users of the handler class, hence they are not virtual. More...
|
|
int | ha_write_row (uchar *buf) |
|
int | ha_update_row (const uchar *old_data, uchar *new_data) |
| Update the current row. More...
|
|
int | ha_delete_row (const uchar *buf) |
|
void | ha_release_auto_increment () |
|
int | ha_check_for_upgrade (HA_CHECK_OPT *check_opt) |
|
int | ha_check (THD *thd, HA_CHECK_OPT *check_opt) |
| to be actually called to get 'check()' functionality More...
|
|
int | ha_repair (THD *thd, HA_CHECK_OPT *check_opt) |
| Repair table: public interface. More...
|
|
void | ha_start_bulk_insert (ha_rows rows) |
| Start bulk insert. More...
|
|
int | ha_end_bulk_insert () |
| End bulk insert. More...
|
|
int | ha_bulk_update_row (const uchar *old_data, uchar *new_data, uint *dup_key_found) |
| Bulk update row: public interface. More...
|
|
int | ha_delete_all_rows () |
| Delete all rows: public interface. More...
|
|
int | ha_truncate (dd::Table *table_def) |
| Truncate table: public interface. More...
|
|
int | ha_optimize (THD *thd, HA_CHECK_OPT *check_opt) |
| Optimize table: public interface. More...
|
|
int | ha_analyze (THD *thd, HA_CHECK_OPT *check_opt) |
| Analyze table: public interface. More...
|
|
bool | ha_check_and_repair (THD *thd) |
| Check and repair table: public interface. More...
|
|
int | ha_disable_indexes (uint mode) |
| Disable indexes: public interface. More...
|
|
int | ha_enable_indexes (uint mode) |
| Enable indexes: public interface. More...
|
|
int | ha_discard_or_import_tablespace (bool discard, dd::Table *table_def) |
| Discard or import tablespace: public interface. More...
|
|
int | ha_rename_table (const char *from, const char *to, const dd::Table *from_table_def, dd::Table *to_table_def) |
| Rename table: public interface. More...
|
|
int | ha_delete_table (const char *name, const dd::Table *table_def) |
| Delete table: public interface. More...
|
|
void | ha_drop_table (const char *name) |
| Drop table in the engine: public interface. More...
|
|
int | ha_create (const char *name, TABLE *form, HA_CREATE_INFO *info, dd::Table *table_def) |
| Create a table in the engine: public interface. More...
|
|
int | ha_load_table (const TABLE &table, bool *skip_metadata_update) |
| Loads a table into its defined secondary storage engine: public interface. More...
|
|
int | ha_unload_table (const char *db_name, const char *table_name, bool error_if_not_loaded) |
| Unloads a table from its defined secondary storage engine: public interface. More...
|
|
virtual int | parallel_scan_init (void *&scan_ctx, size_t *num_threads, bool use_reserved_threads, size_t max_desired_threads) |
| Initializes a parallel scan. More...
|
|
virtual int | parallel_scan (void *scan_ctx, void **thread_ctxs, Load_init_cbk init_fn, Load_cbk load_fn, Load_end_cbk end_fn) |
| Run the parallel read of data. More...
|
|
virtual void | parallel_scan_end (void *scan_ctx) |
| End of the parallel scan. More...
|
|
virtual bool | bulk_load_check (THD *thd) const |
| Check if the table is ready for bulk load. More...
|
|
virtual size_t | bulk_load_available_memory (THD *thd) const |
| Get the total memory available for bulk load in SE. More...
|
|
virtual void * | bulk_load_begin (THD *thd, size_t data_size, size_t memory, size_t num_threads) |
| Begin parallel bulk data load to the table. More...
|
|
virtual int | bulk_load_execute (THD *thd, void *load_ctx, size_t thread_idx, const Rows_mysql &rows, Bulk_load::Stat_callbacks &wait_cbk) |
| Execute bulk load operation. More...
|
|
virtual int | open_blob (THD *thd, void *load_ctx, size_t thread_idx, Blob_context &blob_ctx, unsigned char *blobref) |
| Open a blob for write operation. More...
|
|
virtual int | write_blob (THD *thd, void *load_ctx, size_t thread_idx, Blob_context blob_ctx, unsigned char *blobref, const unsigned char *data, size_t data_len) |
| Write to a blob. More...
|
|
virtual int | close_blob (THD *thd, void *load_ctx, size_t thread_idx, Blob_context blob_ctx, unsigned char *blobref) |
| Close the blob. More...
|
|
virtual int | bulk_load_end (THD *thd, void *load_ctx, bool is_error) |
| End bulk load operation. More...
|
|
bool | ha_get_se_private_data (dd::Table *dd_table, bool reset) |
| Submit a dd::Table object representing a core DD table having hardcoded data to be filled in by the DDSE. More...
|
|
void | adjust_next_insert_id_after_explicit_value (ulonglong nr) |
|
int | update_auto_increment () |
|
virtual void | print_error (int error, myf errflag) |
| Print error that we got from handler function. More...
|
|
virtual bool | get_error_message (int error, String *buf) |
| Return an error message specific to this handler. More...
|
|
uint | get_dup_key (int error) |
|
virtual bool | get_foreign_dup_key (char *child_table_name, uint child_table_name_len, char *child_key_name, uint child_key_name_len) |
| Retrieves the names of the table and the key for which there was a duplicate entry in the case of HA_ERR_FOREIGN_DUPLICATE_KEY. More...
|
|
virtual void | change_table_ptr (TABLE *table_arg, TABLE_SHARE *share) |
| Change the internal TABLE_SHARE pointer. More...
|
|
const TABLE_SHARE * | get_table_share () const |
|
const TABLE * | get_table () const |
|
virtual double | scan_time () |
|
virtual double | read_time (uint index, uint ranges, ha_rows rows) |
| The cost of reading a set of ranges from the table using an index to access it. More...
|
|
virtual double | index_only_read_time (uint keynr, double records) |
| Calculate cost of 'index only' scan for given index and number of records. More...
|
|
virtual Cost_estimate | table_scan_cost () |
| Cost estimate for doing a complete table scan. More...
|
|
virtual Cost_estimate | index_scan_cost (uint index, double ranges, double rows) |
| Cost estimate for reading a number of ranges from an index. More...
|
|
virtual Cost_estimate | read_cost (uint index, double ranges, double rows) |
| Cost estimate for reading a set of ranges from the table using an index to access it. More...
|
|
virtual double | page_read_cost (uint index, double reads) |
| Cost estimate for doing a number of non-sequentially accesses against the storage engine. More...
|
|
virtual double | worst_seek_times (double reads) |
| Provide an upper cost-limit of doing a specified number of seek-and-read key lookups. More...
|
|
virtual longlong | get_memory_buffer_size () const |
| Return an estimate on the amount of memory the storage engine will use for caching data in memory. More...
|
|
double | table_in_memory_estimate () const |
| Return an estimate of how much of the table that is currently stored in main memory. More...
|
|
double | index_in_memory_estimate (uint keyno) const |
| Return an estimate of how much of the index that is currently stored in main memory. More...
|
|
int | ha_sample_init (void *&scan_ctx, double sampling_percentage, int sampling_seed, enum_sampling_method sampling_method, const bool tablesample) |
| Initialize sampling. More...
|
|
int | ha_sample_next (void *scan_ctx, uchar *buf) |
| Get the next record for sampling. More...
|
|
int | ha_sample_end (void *scan_ctx) |
| End sampling. More...
|
|
virtual ha_rows | multi_range_read_info_const (uint keyno, RANGE_SEQ_IF *seq, void *seq_init_param, uint n_ranges, uint *bufsz, uint *flags, bool *force_default_mrr, Cost_estimate *cost) |
| Get cost and other information about MRR scan over a known list of ranges. More...
|
|
virtual ha_rows | multi_range_read_info (uint keyno, uint n_ranges, uint keys, uint *bufsz, uint *flags, Cost_estimate *cost) |
| Get cost and other information about MRR scan over some sequence of ranges. More...
|
|
virtual int | multi_range_read_init (RANGE_SEQ_IF *seq, void *seq_init_param, uint n_ranges, uint mode, HANDLER_BUFFER *buf) |
| Initialize the MRR scan. More...
|
|
int | ha_multi_range_read_next (char **range_info) |
|
int | ha_read_range_first (const key_range *start_key, const key_range *end_key, bool eq_range, bool sorted) |
|
int | ha_read_range_next () |
|
bool | has_transactions () |
|
virtual uint | extra_rec_buf_length () const |
|
virtual bool | is_ignorable_error (int error) |
| Determine whether an error can be ignored or not. More...
|
|
virtual bool | is_fatal_error (int error) |
| Determine whether an error is fatal or not. More...
|
|
int | ha_records (ha_rows *num_rows) |
| Wrapper function to call records() in storage engine. More...
|
|
int | ha_records (ha_rows *num_rows, uint index) |
| Wrapper function to call records_from_index() in storage engine. More...
|
|
virtual ha_rows | estimate_rows_upper_bound () |
| Return upper bound of current number of records in the table (max. More...
|
|
virtual enum row_type | get_real_row_type (const HA_CREATE_INFO *create_info) const |
| Get real row type for the table created based on one specified by user, CREATE TABLE options and SE capabilities. More...
|
|
virtual void | column_bitmaps_signal () |
| Signal that the table->read_set and table->write_set table maps changed The handler is allowed to set additional bits in the above map in this call. More...
|
|
uint | get_index (void) const |
|
virtual bool | start_bulk_update () |
|
virtual bool | start_bulk_delete () |
|
virtual int | exec_bulk_update (uint *dup_key_found) |
| After this call all outstanding updates must be performed. More...
|
|
virtual void | end_bulk_update () |
| Perform any needed clean-up, no outstanding updates are there at the moment. More...
|
|
virtual int | end_bulk_delete () |
| Execute all outstanding deletes and close down the bulk delete. More...
|
|
void | set_end_range (const key_range *range, enum_range_scan_direction direction) |
| Set the end position for a range scan. More...
|
|
int | compare_key (key_range *range) |
| Compare if found key (in row) is over max-value. More...
|
|
int | compare_key_icp (const key_range *range) const |
|
int | compare_key_in_buffer (const uchar *buf) const |
| Check if the key in the given buffer (which is not necessarily TABLE::record[0]) is within range. More...
|
|
virtual FT_INFO * | ft_init_ext_with_hints (uint inx, String *key, Ft_hints *hints) |
|
int | ha_ft_read (uchar *buf) |
|
int | ha_read_first_row (uchar *buf, uint primary_key) |
| Read first row (only) from a table. More...
|
|
virtual int | rnd_pos_by_record (uchar *record) |
| This function only works for handlers having HA_PRIMARY_KEY_REQUIRED_FOR_POSITION set. More...
|
|
virtual ha_rows | records_in_range (uint inx, key_range *min_key, key_range *max_key) |
| Find number of records in a range. More...
|
|
virtual uint32 | calculate_key_hash_value (Field **field_array) |
|
int | ha_extra (enum ha_extra_function operation) |
| Request storage engine to do an extra operation: enable,disable or run some functionality. More...
|
|
virtual int | extra_opt (enum ha_extra_function operation, ulong cache_size) |
|
virtual const handlerton * | hton_supporting_engine_pushdown () |
| Get the handlerton of the storage engine if the SE is capable of pushing down some of the AccessPath functionality. More...
|
|
virtual bool | start_read_removal (void) |
| Start read (before write) removal on the current table. More...
|
|
virtual ha_rows | end_read_removal (void) |
| End read (before write) removal and return the number of rows really written. More...
|
|
virtual bool | was_semi_consistent_read () |
|
virtual void | try_semi_consistent_read (bool) |
| Tell the engine whether it should avoid unnecessary lock waits. More...
|
|
virtual void | unlock_row () |
| Unlock last accessed row. More...
|
|
virtual int | start_stmt (THD *thd, thr_lock_type lock_type) |
| Start a statement when table is locked. More...
|
|
virtual void | get_auto_increment (ulonglong offset, ulonglong increment, ulonglong nb_desired_values, ulonglong *first_value, ulonglong *nb_reserved_values) |
| Reserves an interval of auto_increment values from the handler. More...
|
|
void | set_next_insert_id (ulonglong id) |
|
void | restore_auto_increment (ulonglong prev_insert_id) |
|
virtual void | update_create_info (HA_CREATE_INFO *create_info) |
| Update create info as part of ALTER TABLE. More...
|
|
virtual int | assign_to_keycache (THD *, HA_CHECK_OPT *) |
|
virtual int | preload_keys (THD *, HA_CHECK_OPT *) |
|
virtual int | indexes_are_disabled (void) |
| Check if indexes are disabled. More...
|
|
virtual void | append_create_info (String *packet) |
|
virtual void | init_table_handle_for_HANDLER () |
|
uint | max_record_length () const |
|
uint | max_keys () const |
|
uint | max_key_parts () const |
|
uint | max_key_length () const |
|
uint | max_key_part_length (HA_CREATE_INFO *create_info) const |
|
virtual uint | max_supported_record_length () const |
|
virtual uint | max_supported_key_parts () const |
|
virtual uint | min_record_length (uint options) const |
|
virtual bool | low_byte_first () const |
|
virtual ha_checksum | checksum () const |
|
virtual bool | is_crashed () const |
| Check if the table is crashed. More...
|
|
virtual bool | auto_repair () const |
| Check if the table can be automatically repaired. More...
|
|
virtual uint | lock_count (void) const |
| Get number of lock objects returned in store_lock. More...
|
|
virtual bool | primary_key_is_clustered () const |
| Check if the primary key is clustered or not. More...
|
|
virtual int | cmp_ref (const uchar *ref1, const uchar *ref2) const |
| Compare two positions. More...
|
|
virtual const Item * | cond_push (const Item *cond) |
| Push condition down to the table handler. More...
|
|
virtual Item * | idx_cond_push (uint keyno, Item *idx_cond) |
| Push down an index condition to the handler. More...
|
|
virtual void | cancel_pushed_idx_cond () |
| Reset information about pushed index conditions. More...
|
|
virtual uint | number_of_pushed_joins () const |
| Reports number of tables included in pushed join which this handler instance is part of. More...
|
|
virtual const TABLE * | member_of_pushed_join () const |
| If this handler instance is part of a pushed join sequence returned TABLE instance being root of the pushed query? More...
|
|
virtual const TABLE * | parent_of_pushed_join () const |
| If this handler instance is a child in a pushed join sequence returned TABLE instance being my parent? More...
|
|
virtual table_map | tables_in_pushed_join () const |
|
int | ha_index_read_pushed (uchar *buf, const uchar *key, key_part_map keypart_map) |
|
int | ha_index_next_pushed (uchar *buf) |
|
virtual bool | check_if_incompatible_data (HA_CREATE_INFO *create_info, uint table_changes) |
| Part of old, deprecated in-place ALTER API. More...
|
|
virtual enum_alter_inplace_result | check_if_supported_inplace_alter (TABLE *altered_table, Alter_inplace_info *ha_alter_info) |
| Check if a storage engine supports a particular alter table in-place. More...
|
|
bool | ha_prepare_inplace_alter_table (TABLE *altered_table, Alter_inplace_info *ha_alter_info, const dd::Table *old_table_def, dd::Table *new_table_def) |
| Public functions wrapping the actual handler call. More...
|
|
bool | ha_inplace_alter_table (TABLE *altered_table, Alter_inplace_info *ha_alter_info, const dd::Table *old_table_def, dd::Table *new_table_def) |
| Public function wrapping the actual handler call. More...
|
|
bool | ha_commit_inplace_alter_table (TABLE *altered_table, Alter_inplace_info *ha_alter_info, bool commit, const dd::Table *old_table_def, dd::Table *new_table_def) |
| Public function wrapping the actual handler call. More...
|
|
void | ha_notify_table_changed (Alter_inplace_info *ha_alter_info) |
| Public function wrapping the actual handler call. More...
|
|
virtual void | use_hidden_primary_key () |
| use_hidden_primary_key() is called in case of an update/delete when (table_flags() and HA_PRIMARY_KEY_REQUIRED_FOR_DELETE) is defined but we don't have a primary key More...
|
|
virtual int | bulk_update_row (const uchar *old_data, uchar *new_data, uint *dup_key_found) |
| This method is similar to update_row, however the handler doesn't need to execute the updates at this point in time. More...
|
|
virtual int | delete_all_rows () |
| Delete all rows in a table. More...
|
|
virtual int | truncate (dd::Table *table_def) |
| Quickly remove all rows from a table. More...
|
|
virtual int | optimize (THD *, HA_CHECK_OPT *) |
|
virtual int | analyze (THD *, HA_CHECK_OPT *) |
|
virtual bool | check_and_repair (THD *thd) |
| Check and repair the table if necessary. More...
|
|
virtual int | disable_indexes (uint mode) |
| Disable indexes for a while. More...
|
|
virtual int | enable_indexes (uint mode) |
| Enable indexes again. More...
|
|
virtual int | discard_or_import_tablespace (bool discard, dd::Table *table_def) |
| Discard or import tablespace. More...
|
|
virtual void | drop_table (const char *name) |
|
virtual bool | get_se_private_data (dd::Table *dd_table, bool reset) |
|
virtual int | get_extra_columns_and_keys (const HA_CREATE_INFO *create_info, const List< Create_field > *create_list, const KEY *key_info, uint key_count, dd::Table *table_obj) |
| Adjust definition of table to be created by adding implicit columns and indexes necessary for the storage engine. More...
|
|
virtual bool | set_ha_share_ref (Handler_share **arg_ha_share) |
|
void | set_ha_table (TABLE *table_arg) |
|
int | get_lock_type () const |
|
virtual Partition_handler * | get_partition_handler () |
|
bool | ha_upgrade_table (THD *thd, const char *dbname, const char *table_name, dd::Table *dd_table, TABLE *table_arg) |
| Set se_private_id and se_private_data during upgrade. More...
|
|
void | ha_set_primary_handler (handler *primary_handler) |
| Store a pointer to the handler of the primary table that corresponds to the secondary table in this handler. More...
|
|
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 table in a secondary storage engine. More...
|
|
void | ha_mv_key_capacity (uint *num_keys, size_t *keys_length) const |
| Return max limits for a single set of multi-valued keys. More...
|
|
virtual void | set_external_table_offload_error (const char *) |
| Propagates the secondary storage engine offload failure reason for a query to the external engine when the offloaded query fails in the secondary storage engine. More...
|
|
virtual void | external_table_offload_error () const |
| Identifies and throws the propagated external engine query offload or exec failure reason given by the external engine handler. More...
|
|