1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

Merge branch '10.6' into 10.11

This commit is contained in:
Sergei Golubchik
2023-12-17 16:56:38 +01:00
629 changed files with 27336 additions and 4573 deletions

View File

@@ -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;