summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
Diffstat (limited to 'sql')
-rw-r--r--sql/sql_priv.h4
-rw-r--r--sql/sql_show.cc2
-rw-r--r--sql/sys_vars.cc1
-rw-r--r--sql/table.cc13
4 files changed, 7 insertions, 13 deletions
diff --git a/sql/sql_priv.h b/sql/sql_priv.h
index 7b6a139bbdf..493313da90a 100644
--- a/sql/sql_priv.h
+++ b/sql/sql_priv.h
@@ -232,7 +232,6 @@
#define OPTIMIZER_SWITCH_USE_ROWID_FILTER (1ULL << 33)
#define OPTIMIZER_SWITCH_COND_PUSHDOWN_FROM_HAVING (1ULL << 34)
#define OPTIMIZER_SWITCH_NOT_NULL_RANGE_SCAN (1ULL << 35)
-#define OPTIMIZER_SWITCH_IGNORE_INDEXES (1ULL << 36)
#define OPTIMIZER_SWITCH_DEFAULT (OPTIMIZER_SWITCH_INDEX_MERGE | \
OPTIMIZER_SWITCH_INDEX_MERGE_UNION | \
@@ -263,8 +262,7 @@
OPTIMIZER_SWITCH_COND_PUSHDOWN_FOR_SUBQUERY | \
OPTIMIZER_SWITCH_USE_ROWID_FILTER | \
OPTIMIZER_SWITCH_COND_PUSHDOWN_FROM_HAVING | \
- OPTIMIZER_SWITCH_OPTIMIZE_JOIN_BUFFER_SIZE| \
- OPTIMIZER_SWITCH_IGNORE_INDEXES)
+ OPTIMIZER_SWITCH_OPTIMIZE_JOIN_BUFFER_SIZE)
/*
Replication uses 8 bytes to store SQL_MODE in the binary log. The day you
diff --git a/sql/sql_show.cc b/sql/sql_show.cc
index 5594b98db27..74d094a5dbb 100644
--- a/sql/sql_show.cc
+++ b/sql/sql_show.cc
@@ -2481,7 +2481,7 @@ static void store_key_options(THD *thd, String *packet, TABLE *table,
}
if (key_info->is_ignored)
- packet->append(STRING_WITH_LEN(" IGNORE"));
+ packet->append(STRING_WITH_LEN(" IGNORED"));
}
}
diff --git a/sql/sys_vars.cc b/sql/sys_vars.cc
index 66e7d996988..df6f9933e36 100644
--- a/sql/sys_vars.cc
+++ b/sql/sys_vars.cc
@@ -2714,7 +2714,6 @@ export const char *optimizer_switch_names[]=
"rowid_filter",
"condition_pushdown_from_having",
"not_null_range_scan",
- "ignore_indexes",
"default",
NullS
};
diff --git a/sql/table.cc b/sql/table.cc
index a7142db17bd..282427c61d1 100644
--- a/sql/table.cc
+++ b/sql/table.cc
@@ -1431,13 +1431,9 @@ void TABLE_SHARE::set_ignored_indexes()
key_map TABLE_SHARE::usable_indexes(THD *thd)
{
- if (optimizer_flag(thd, OPTIMIZER_SWITCH_IGNORE_INDEXES))
- {
- key_map usable_indexes(keys_in_use);
- usable_indexes.subtract(ignored_indexes);
- return usable_indexes;
- }
- return keys_in_use;
+ key_map usable_indexes(keys_in_use);
+ usable_indexes.subtract(ignored_indexes);
+ return usable_indexes;
}
@@ -8269,7 +8265,8 @@ bool TABLE_LIST::process_index_hints(TABLE *tbl)
*/
if (tbl->s->keynames.type_names == 0 ||
(pos= find_type(&tbl->s->keynames, hint->key_name.str,
- hint->key_name.length, 1)) <= 0)
+ hint->key_name.length, 1)) <= 0 ||
+ (tbl->s->key_info[pos - 1].is_ignored))
{
my_error(ER_KEY_DOES_NOT_EXISTS, MYF(0), hint->key_name.str, alias.str);
return 1;