summaryrefslogtreecommitdiff
path: root/sql/sql_admin.cc
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2020-05-13 11:45:05 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2020-05-13 11:45:05 +0300
commit15fa70b8408a2146b300a4e1b19819addafa5929 (patch)
tree228e88d1e8e3b3d46f5a54ab6e1bdcdd4478b82e /sql/sql_admin.cc
parent19d4e023c681ecb26acf06318e69ecae6c4ec9be (diff)
parent6bc4444d7ca81786de98f27669891692c2d2e21c (diff)
downloadmariadb-git-15fa70b8408a2146b300a4e1b19819addafa5929.tar.gz
Merge 10.2 into 10.3
Diffstat (limited to 'sql/sql_admin.cc')
-rw-r--r--sql/sql_admin.cc46
1 files changed, 21 insertions, 25 deletions
diff --git a/sql/sql_admin.cc b/sql/sql_admin.cc
index 92e88a74217..692ae7b00fa 100644
--- a/sql/sql_admin.cc
+++ b/sql/sql_admin.cc
@@ -772,31 +772,6 @@ static bool mysql_admin_table(THD* thd, TABLE_LIST* tables,
(table->table->s->table_category == TABLE_CATEGORY_USER &&
(get_use_stat_tables_mode(thd) > NEVER ||
lex->with_persistent_for_clause));
-
-
- if (!lex->index_list)
- {
- tab->keys_in_use_for_query.init(tab->s->keys);
- }
- else
- {
- int pos;
- LEX_STRING *index_name;
- List_iterator_fast<LEX_STRING> it(*lex->index_list);
-
- tab->keys_in_use_for_query.clear_all();
- while ((index_name= it++))
- {
- if (tab->s->keynames.type_names == 0 ||
- (pos= find_type(&tab->s->keynames, index_name->str,
- index_name->length, 1)) <= 0)
- {
- compl_result_code= result_code= HA_ADMIN_INVALID;
- break;
- }
- tab->keys_in_use_for_query.set_bit(--pos);
- }
- }
}
if (result_code == HA_ADMIN_OK)
@@ -881,6 +856,27 @@ static bool mysql_admin_table(THD* thd, TABLE_LIST* tables,
}
tab->file->column_bitmaps_signal();
}
+ if (!lex->index_list)
+ tab->keys_in_use_for_query.init(tab->s->keys);
+ else
+ {
+ int pos;
+ LEX_STRING *index_name;
+ List_iterator_fast<LEX_STRING> it(*lex->index_list);
+
+ tab->keys_in_use_for_query.clear_all();
+ while ((index_name= it++))
+ {
+ if (tab->s->keynames.type_names == 0 ||
+ (pos= find_type(&tab->s->keynames, index_name->str,
+ index_name->length, 1)) <= 0)
+ {
+ compl_result_code= result_code= HA_ADMIN_INVALID;
+ break;
+ }
+ tab->keys_in_use_for_query.set_bit(--pos);
+ }
+ }
if (!(compl_result_code=
alloc_statistics_for_table(thd, table->table)) &&
!(compl_result_code=