mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Adding multi_range_read support to partitions
Other things: - Cleanup of allocated bitmaps done in open(), which simplifies init_partition_bitmaps() - Add needed defines in ha_spider.cc to enable new spider code - Fixed some DBUG_PRINT() to be consistent with normal code - Removed end space - The changes in test cases partition_innodb, partition_range, partition_pruning etc are becasue partitions can now more exactly calculate the number of rows in a range. Contains spider patches: 014,015,023,033,035,037,040,042,044,045,049,050,051,053,059
This commit is contained in:
@ -3095,6 +3095,7 @@ public:
|
||||
Number of rows in table. It will only be called if
|
||||
(table_flags() & (HA_HAS_RECORDS | HA_STATS_RECORDS_IS_EXACT)) != 0
|
||||
*/
|
||||
virtual int pre_records() { return 0; }
|
||||
virtual ha_rows records() { return stats.records; }
|
||||
/**
|
||||
Return upper bound of current number of records in the table
|
||||
@ -3172,6 +3173,37 @@ public:
|
||||
DBUG_ASSERT(FALSE);
|
||||
return HA_ERR_WRONG_COMMAND;
|
||||
}
|
||||
virtual int pre_index_read_map(const uchar *key,
|
||||
key_part_map keypart_map,
|
||||
enum ha_rkey_function find_flag,
|
||||
bool use_parallel)
|
||||
{ return 0; }
|
||||
virtual int pre_index_first(bool use_parallel)
|
||||
{ return 0; }
|
||||
virtual int pre_index_last(bool use_parallel)
|
||||
{ return 0; }
|
||||
virtual int pre_index_read_last_map(const uchar *key,
|
||||
key_part_map keypart_map,
|
||||
bool use_parallel)
|
||||
{ return 0; }
|
||||
/*
|
||||
virtual int pre_read_multi_range_first(KEY_MULTI_RANGE **found_range_p,
|
||||
KEY_MULTI_RANGE *ranges,
|
||||
uint range_count,
|
||||
bool sorted, HANDLER_BUFFER *buffer,
|
||||
bool use_parallel);
|
||||
*/
|
||||
virtual int pre_multi_range_read_next(bool use_parallel)
|
||||
{ return 0; }
|
||||
virtual int pre_read_range_first(const key_range *start_key,
|
||||
const key_range *end_key,
|
||||
bool eq_range, bool sorted,
|
||||
bool use_parallel)
|
||||
{ return 0; }
|
||||
virtual int pre_ft_read(bool use_parallel)
|
||||
{ return 0; }
|
||||
virtual int pre_rnd_next(bool use_parallel)
|
||||
{ return 0; }
|
||||
/**
|
||||
@brief
|
||||
Positions an index cursor to the index specified in the
|
||||
@ -3467,6 +3499,7 @@ public:
|
||||
return 0;
|
||||
}
|
||||
virtual void set_part_info(partition_info *part_info) {return;}
|
||||
virtual void return_record_by_parent() {return;}
|
||||
|
||||
virtual ulong index_flags(uint idx, uint part, bool all_parts) const =0;
|
||||
|
||||
|
Reference in New Issue
Block a user