summaryrefslogtreecommitdiffstats
path: root/sql/opt_range.h
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-13 13:39:13 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-13 13:39:13 +0000
commit86fbb58c3ac0865482819c10a3e81f2eea001c36 (patch)
tree28c9e526ea739c6f9b89e36115e1e2698bddf981 /sql/opt_range.h
parentReleasing progress-linux version 1:10.11.6-2~progress7.99u1. (diff)
downloadmariadb-86fbb58c3ac0865482819c10a3e81f2eea001c36.tar.xz
mariadb-86fbb58c3ac0865482819c10a3e81f2eea001c36.zip
Merging upstream version 1:10.11.7.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'sql/opt_range.h')
-rw-r--r--sql/opt_range.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/sql/opt_range.h b/sql/opt_range.h
index 4f766534..25bb9f0a 100644
--- a/sql/opt_range.h
+++ b/sql/opt_range.h
@@ -889,7 +889,10 @@ public:
*/
bool remove_false_where_parts;
- bool note_unusable_keys; // Give SQL notes for unusable keys
+ /*
+ Which functions should give SQL notes for unusable keys.
+ */
+ Item_func::Bitmap note_unusable_keys;
/*
used_key_no -> table_key_no translation table. Only makes sense if
@@ -1768,7 +1771,6 @@ private:
uchar *group_prefix; /* Key prefix consisting of the GROUP fields. */
const uint group_prefix_len; /* Length of the group prefix. */
uint group_key_parts; /* A number of keyparts in the group prefix */
- uchar *last_prefix; /* Prefix of the last group for detecting EOF. */
bool have_min; /* Specify whether we are computing */
bool have_max; /* a MIN, a MAX, or both. */
bool have_agg_distinct;/* aggregate_function(DISTINCT ...). */
@@ -1894,12 +1896,14 @@ class SQL_SELECT :public Sql_alloc {
true - for ERROR and IMPOSSIBLE_RANGE
false - Ok
*/
- bool check_quick(THD *thd, bool force_quick_range, ha_rows limit)
+ bool check_quick(THD *thd, bool force_quick_range, ha_rows limit,
+ Item_func::Bitmap note_unusable_keys)
{
key_map tmp;
tmp.set_all();
return test_quick_select(thd, tmp, 0, limit, force_quick_range,
- FALSE, FALSE, FALSE) != OK;
+ FALSE, FALSE, FALSE,
+ note_unusable_keys) != OK;
}
/*
@@ -1929,7 +1933,7 @@ class SQL_SELECT :public Sql_alloc {
bool ordered_output,
bool remove_false_parts_of_where,
bool only_single_index_range_scan,
- bool suppress_unusable_key_notes = 0);
+ Item_func::Bitmap note_unusable_keys);
};
typedef enum SQL_SELECT::quick_select_return_type quick_select_return;