mirror of
https://github.com/MariaDB/server.git
synced 2025-01-29 02:05:57 +01:00
Added a new parameter for the function eq_ranges_exceeds_limit()
introduced in the patch fo MDEV-16934.
This commit is contained in:
parent
8b949d961c
commit
c826b6b8da
3 changed files with 9 additions and 7 deletions
|
@ -64,13 +64,15 @@ handler::multi_range_read_info_const(uint keyno, RANGE_SEQ_IF *seq,
|
|||
ha_rows rows, total_rows= 0;
|
||||
uint n_ranges=0;
|
||||
THD *thd= table->in_use;
|
||||
uint limit= thd->variables.eq_range_index_dive_limit;
|
||||
|
||||
bool use_statistics_for_eq_range= eq_ranges_exceeds_limit(seq,
|
||||
seq_init_param,
|
||||
limit);
|
||||
|
||||
/* Default MRR implementation doesn't need buffer */
|
||||
*bufsz= 0;
|
||||
|
||||
bool use_statistics_for_eq_range= eq_ranges_exceeds_limit(seq,
|
||||
seq_init_param);
|
||||
|
||||
seq_it= seq->init(seq_init_param, n_ranges, *flags);
|
||||
while (!seq->next(seq_it, &range))
|
||||
{
|
||||
|
|
|
@ -14619,13 +14619,12 @@ void QUICK_GROUP_MIN_MAX_SELECT::add_keys_and_lengths(String *key_names,
|
|||
|
||||
/* Check whether the number for equality ranges exceeds the set threshold */
|
||||
|
||||
bool eq_ranges_exceeds_limit(RANGE_SEQ_IF *seq, void *seq_init_param)
|
||||
bool eq_ranges_exceeds_limit(RANGE_SEQ_IF *seq, void *seq_init_param,
|
||||
uint limit)
|
||||
{
|
||||
KEY_MULTI_RANGE range;
|
||||
range_seq_t seq_it;
|
||||
uint count = 0;
|
||||
PARAM *param= ((SEL_ARG_RANGE_SEQ*) seq_init_param)->param;
|
||||
uint limit= param->thd->variables.eq_range_index_dive_limit;
|
||||
|
||||
if (limit == 0)
|
||||
{
|
||||
|
|
|
@ -1664,7 +1664,8 @@ SQL_SELECT *make_select(TABLE *head, table_map const_tables,
|
|||
|
||||
bool calculate_cond_selectivity_for_table(THD *thd, TABLE *table, Item **cond);
|
||||
|
||||
bool eq_ranges_exceeds_limit(RANGE_SEQ_IF *seq, void *seq_init_param);
|
||||
bool eq_ranges_exceeds_limit(RANGE_SEQ_IF *seq, void *seq_init_param,
|
||||
uint limit);
|
||||
|
||||
#ifdef WITH_PARTITION_STORAGE_ENGINE
|
||||
bool prune_partitions(THD *thd, TABLE *table, Item *pprune_cond);
|
||||
|
|
Loading…
Add table
Reference in a new issue