MySQL 8.0.39
Source Code Documentation
|
Functions | |
int | ha_innopart::initialize_auto_increment (bool no_lock) override |
Set the autoinc column max value. More... | |
void | ha_innopart::save_auto_increment (ulonglong nr) override |
Save currently highest auto increment value. More... | |
int | ha_innopart::init_record_priority_queue_for_parts (uint used_parts) override |
Setup the ordered record buffer and the priority queue. More... | |
void | ha_innopart::destroy_record_priority_queue_for_parts () override |
Destroy the ordered record buffer and the priority queue. More... | |
bool | ha_innopart::prepare_for_copy_partitions (Alter_inplace_info *ha_alter_info) |
Create the Altered_partitoins object. More... | |
int | ha_innopart::write_row_in_new_part (uint new_part) override |
write row to new partition. More... | |
int | ha_innopart::write_row_in_part (uint part_id, uchar *record) override |
Write a row in specific partition. More... | |
int | ha_innopart::update_row_in_part (uint part_id, const uchar *old_row, uchar *new_row) override |
Update a row in partition. More... | |
int | ha_innopart::delete_row_in_part (uint part_id, const uchar *record) override |
Deletes a row in partition. More... | |
int | ha_innopart::index_first_in_part (uint part, uchar *record) override |
Return first record in index from a partition. More... | |
int | ha_innopart::index_last_in_part (uint part, uchar *record) override |
Return last record in index from a partition. More... | |
int | ha_innopart::index_prev_in_part (uint part, uchar *record) override |
Return previous record in index from a partition. More... | |
int | ha_innopart::index_next_in_part (uint part, uchar *record) override |
Return next record in index from a partition. More... | |
int | ha_innopart::index_next_same_in_part (uint part, uchar *record, const uchar *key, uint length) override |
Return next same record in index from a partition. More... | |
int | ha_innopart::index_read_map_in_part (uint part, uchar *record, const uchar *key, key_part_map keypart_map, enum ha_rkey_function find_flag) override |
Start index scan and return first record from a partition. More... | |
int | ha_innopart::index_read_last_map_in_part (uint part, uchar *record, const uchar *key, key_part_map keypart_map) override |
Return last matching record in index from a partition. More... | |
int | ha_innopart::read_range_first_in_part (uint part, uchar *record, const key_range *start_key, const key_range *end_key, bool sorted) override |
Start index scan and return first record from a partition. More... | |
int | ha_innopart::read_range_next_in_part (uint part, uchar *record) override |
Return next record in index range scan from a partition. More... | |
int | ha_innopart::index_read_idx_map_in_part (uint part, uchar *record, uint index, const uchar *key, key_part_map keypart_map, enum ha_rkey_function find_flag) override |
Start index scan and return first record from a partition. More... | |
int | ha_innopart::sample_init (void *&scan_ctx, double sampling_percentage, int sampling_seed, enum_sampling_method sampling_method, const bool tablesample) override |
Initialize sampling. More... | |
int | ha_innopart::sample_next (void *scan_ctx, uchar *buf) override |
Get the next record for sampling. More... | |
int | ha_innopart::sample_end (void *scan_ctx) override |
End sampling. More... | |
int | ha_innopart::rnd_init_in_part (uint part_id, bool scan) override |
Initialize random read/scan of a specific partition. More... | |
int | ha_innopart::rnd_next_in_part (uint part_id, uchar *buf) override |
Get next row during scan of a specific partition. More... | |
int | ha_innopart::rnd_end_in_part (uint part_id, bool scan) override |
End random read/scan of a specific partition. More... | |
void | ha_innopart::position_in_last_part (uchar *ref_arg, const uchar *record) override |
Return position for cursor in last used partition. More... | |
int | ha_innopart::rnd_pos_by_record (uchar *record) override |
Read row using position using given record to find. More... | |
void | ha_innopart::copy_cached_row (uchar *buf, const uchar *cached_row) override |
Copy a cached MySQL row. More... | |
|
inlineoverrideprivatevirtual |
Copy a cached MySQL row.
If requested, also avoids overwriting non-read columns.
[out] | buf | Row in MySQL format. |
[in] | cached_row | Which row to copy. |
Reimplemented from Partition_helper.
Deletes a row in partition.
[in] | part_id | Partition to delete from. |
[in] | record | Row to delete in MySQL format. |
Implements Partition_helper.
|
inlineoverrideprivatevirtual |
Destroy the ordered record buffer and the priority queue.
Reimplemented from Partition_helper.
Return first record in index from a partition.
[in] | part | Partition to read from. |
[out] | record | First record in index in the partition. |
Implements Partition_helper.
Return last record in index from a partition.
[in] | part | Partition to read from. |
[out] | record | Last record in index in the partition. |
Implements Partition_helper.
Return next record in index from a partition.
[in] | part | Partition to read from. |
[out] | record | Last record in index in the partition. |
Implements Partition_helper.
|
overrideprivatevirtual |
Return next same record in index from a partition.
This routine is used to read the next record, but only if the key is the same as supplied in the call.
[in] | part | Partition to read from. |
[out] | record | Last record in index in the partition. |
[in] | key | Key to match. |
[in] | length | Length of key. |
Implements Partition_helper.
Return previous record in index from a partition.
[in] | part | Partition to read from. |
[out] | record | Last record in index in the partition. |
Implements Partition_helper.
|
overrideprivatevirtual |
Start index scan and return first record from a partition.
This routine starts an index scan using a start key. The calling function will check the end key on its own.
[in] | part | Partition to read from. |
[out] | record | First matching record in index in the partition. |
[in] | index | Index to read from. |
[in] | key | Key to match. |
[in] | keypart_map | Which part of the key to use. |
[in] | find_flag | Key condition/direction to use. |
Implements Partition_helper.
|
overrideprivatevirtual |
Return last matching record in index from a partition.
[in] | part | Partition to read from. |
[out] | record | Last matching record in index in the partition. |
[in] | key | Key to match. |
[in] | keypart_map | Which part of the key to use. |
Implements Partition_helper.
|
overrideprivatevirtual |
Start index scan and return first record from a partition.
This routine starts an index scan using a start key. The calling function will check the end key on its own.
[in] | part | Partition to read from. |
[out] | record | First matching record in index in the partition. |
[in] | key | Key to match. |
[in] | keypart_map | Which part of the key to use. |
[in] | find_flag | Key condition/direction to use. |
Implements Partition_helper.
|
overrideprivatevirtual |
Setup the ordered record buffer and the priority queue.
[in] | used_parts | Number of used partitions in query. |
Reimplemented from Partition_helper.
|
inlineoverrideprivatevirtual |
Set the autoinc column max value.
This should only be called once from ha_innobase::open(). Therefore there's no need for a covering lock.
[in] | no_lock | If locking should be skipped. Not used! |
Implements Partition_helper.
|
overrideprivatevirtual |
Return position for cursor in last used partition.
Stores a reference to the current row to 'ref' field of the handle. Note that in the case where we have generated the clustered index for the table, the function parameter is illogical: we MUST ASSUME that 'record' is the current 'position' of the handle, because if row ref is actually the row id internally generated in InnoDB, then 'record' does not contain it. We just guess that the row id must be for the record where the handle was positioned the last time.
[out] | ref_arg | Pointer to buffer where to write the position. |
[in] | record | Record to position for. |
Implements Partition_helper.
|
private |
Create the Altered_partitoins object.
[in] | ha_alter_info | thd DDL operation |
true | On failure |
false | On success |
|
overrideprivatevirtual |
Start index scan and return first record from a partition.
This routine starts an index scan using a start and end key.
[in] | part | Partition to read from. |
[in,out] | record | First matching record in index in the partition, if NULL use table->record[0] as return buffer. |
[in] | start_key | Start key to match. |
[in] | end_key | End key to match. |
[in] | sorted | Return rows in sorted order. |
Implements Partition_helper.
Return next record in index range scan from a partition.
[in] | part | Partition to read from. |
[in,out] | record | First matching record in index in the partition, if NULL use table->record[0] as return buffer. |
Implements Partition_helper.
|
overrideprivatevirtual |
End random read/scan of a specific partition.
[in] | part_id | Partition to end random read/scan. |
[in] | scan | True for scan else random access. |
Implements Partition_helper.
|
overrideprivatevirtual |
Initialize random read/scan of a specific partition.
[in] | part_id | Partition to initialize. |
[in] | scan | True for scan else random access. |
Implements Partition_helper.
Get next row during scan of a specific partition.
Also used to read the FIRST row in a table scan.
[in] | part_id | Partition to read from. |
[out] | buf | Next row. |
Implements Partition_helper.
|
overrideprivatevirtual |
Read row using position using given record to find.
This works as position()+rnd_pos() functions, but does some extra work,calculating m_last_part - the partition to where the 'record' should go. Only useful when position is based on primary key (HA_PRIMARY_KEY_REQUIRED_FOR_POSITION).
[in] | record | Current record in MySQL Row Format. |
Reimplemented from handler.
|
overrideprivatevirtual |
End sampling.
[in] | scan_ctx | Scan context of the sampling |
Reimplemented from ha_innobase.
|
overrideprivatevirtual |
Initialize sampling.
[out] | scan_ctx | A scan context created by this method that has to be used in sample_next |
[in] | sampling_percentage | percentage of records that need to be sampled |
[in] | sampling_seed | random seed that the random generator will use |
[in] | sampling_method | sampling method to be used; currently only SYSTEM sampling is supported |
[in] | tablesample | true if the sampling is for tablesample |
Reimplemented from ha_innobase.
|
overrideprivatevirtual |
Get the next record for sampling.
[in] | scan_ctx | Scan context of the sampling |
[in] | buf | buffer to place the read record |
Buffer rows one by one
Reimplemented from ha_innobase.
|
overrideprivatevirtual |
Save currently highest auto increment value.
[in] | nr | Auto increment value to save. |
Reimplemented from Partition_helper.
|
overrideprivatevirtual |
Update a row in partition.
Updates a row given as a parameter to a new value.
[in] | part_id | Partition to update row in. |
[in] | old_row | Old row in MySQL format. |
[in] | new_row | New row in MySQL format. |
Implements Partition_helper.
|
overrideprivatevirtual |
write row to new partition.
[in] | new_part | New partition to write to. |
Implements Partition_helper.
Write a row in specific partition.
Stores a row in an InnoDB database, to the table specified in this handle.
[in] | part_id | Partition to write to. |
[in] | record | A row in MySQL format. |
Implements Partition_helper.