summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/r/explain.result4
-rw-r--r--mysql-test/r/key_cache.result2
-rw-r--r--mysql-test/r/preload.result2
-rw-r--r--mysql-test/r/select.result14
-rw-r--r--mysql-test/t/explain.test4
-rw-r--r--mysql-test/t/select.test19
6 files changed, 35 insertions, 10 deletions
diff --git a/mysql-test/r/explain.result b/mysql-test/r/explain.result
index d66dec741bd..f77ddce118e 100644
--- a/mysql-test/r/explain.result
+++ b/mysql-test/r/explain.result
@@ -24,9 +24,9 @@ explain select * from t1 use key (str,str) where str="foo";
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 const str str 11 const 1
explain select * from t1 use key (str,str,foo) where str="foo";
-ERROR 42000: Key column 'foo' doesn't exist in table
+ERROR 42000: Index 'foo' is not defined for table 't1'
explain select * from t1 ignore key (str,str,foo) where str="foo";
-ERROR 42000: Key column 'foo' doesn't exist in table
+ERROR 42000: Index 'foo' is not defined for table 't1'
drop table t1;
explain select 1;
id select_type table type possible_keys key key_len ref rows Extra
diff --git a/mysql-test/r/key_cache.result b/mysql-test/r/key_cache.result
index 15dc244693d..749af3c87d8 100644
--- a/mysql-test/r/key_cache.result
+++ b/mysql-test/r/key_cache.result
@@ -191,7 +191,7 @@ cache index t1 in unknown_key_cache;
ERROR HY000: Unknown key cache 'unknown_key_cache'
cache index t1 key (unknown_key) in keycache1;
Table Op Msg_type Msg_text
-test.t1 assign_to_keycache error Key column 'unknown_key' doesn't exist in table
+test.t1 assign_to_keycache error Index 'unknown_key' is not defined for table 't1'
test.t1 assign_to_keycache status Operation failed
select @@keycache2.key_buffer_size;
@@keycache2.key_buffer_size
diff --git a/mysql-test/r/preload.result b/mysql-test/r/preload.result
index 7237a0da7e0..efe39dc1f22 100644
--- a/mysql-test/r/preload.result
+++ b/mysql-test/r/preload.result
@@ -158,7 +158,7 @@ Key_reads 0
load index into cache t3 key (b), t2 key (c) ;
Table Op Msg_type Msg_text
test.t3 preload_keys error Table 'test.t3' doesn't exist
-test.t2 preload_keys error Key column 'c' doesn't exist in table
+test.t2 preload_keys error Index 'c' is not defined for table 't2'
test.t2 preload_keys status Operation failed
show status like "key_read%";
Variable_name Value
diff --git a/mysql-test/r/select.result b/mysql-test/r/select.result
index b80ca2b195e..82cb4f2b978 100644
--- a/mysql-test/r/select.result
+++ b/mysql-test/r/select.result
@@ -143,9 +143,9 @@ explain select fld3 from t2 use index (fld1,fld3) where fld3 = 'honeysuckle';
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ref fld3 fld3 30 const 1 Using where; Using index
explain select fld3 from t2 ignore index (fld3,not_used);
-ERROR 42000: Key column 'not_used' doesn't exist in table
+ERROR 42000: Index 'not_used' is not defined for table 't2'
explain select fld3 from t2 use index (not_used);
-ERROR 42000: Key column 'not_used' doesn't exist in table
+ERROR 42000: Index 'not_used' is not defined for table 't2'
select t2.fld3 from t2 where fld3 >= 'honeysuckle' and fld3 <= 'honoring' order by fld3;
fld3
honeysuckle
@@ -2714,3 +2714,13 @@ select * from t1 where f1 in (select f3 from t2 where (f3,f4)= (select f3,f4 fro
f1 f2
1 1
drop table t1,t2;
+CREATE TABLE t1 (a int, INDEX idx(a));
+INSERT INTO t1 VALUES (2), (3), (1);
+EXPLAIN SELECT * FROM t1 IGNORE INDEX (idx);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 3
+EXPLAIN SELECT * FROM t1 IGNORE INDEX (a);
+ERROR 42000: Index 'a' is not defined for table 't1'
+EXPLAIN SELECT * FROM t1 FORCE INDEX (a);
+ERROR 42000: Index 'a' is not defined for table 't1'
+DROP TABLE t1;
diff --git a/mysql-test/t/explain.test b/mysql-test/t/explain.test
index 2a3a23c5f96..8e64255f239 100644
--- a/mysql-test/t/explain.test
+++ b/mysql-test/t/explain.test
@@ -15,9 +15,9 @@ explain select * from t1 ignore key (str) where str="foo";
explain select * from t1 use key (str,str) where str="foo";
#The following should give errors
---error 1072
+--error 1303
explain select * from t1 use key (str,str,foo) where str="foo";
---error 1072
+--error 1303
explain select * from t1 ignore key (str,str,foo) where str="foo";
drop table t1;
diff --git a/mysql-test/t/select.test b/mysql-test/t/select.test
index 996d5854854..90d54e59b61 100644
--- a/mysql-test/t/select.test
+++ b/mysql-test/t/select.test
@@ -1295,9 +1295,9 @@ explain select fld3 from t2 use index (fld1,fld3) where fld3 = 'honeysuckle';
# The next should give an error
#
--- error 1072
+-- error 1303
explain select fld3 from t2 ignore index (fld3,not_used);
--- error 1072
+-- error 1303
explain select fld3 from t2 use index (not_used);
#
@@ -2248,4 +2248,19 @@ insert into t2 values(1,1);
select * from t1 where f1 in (select f3 from t2 where (f3,f4)= (select f3,f4 from t2));
drop table t1,t2;
+#
+# Bug #17873: confusing error message when IGNORE INDEX refers a column name
+#
+
+CREATE TABLE t1 (a int, INDEX idx(a));
+INSERT INTO t1 VALUES (2), (3), (1);
+
+EXPLAIN SELECT * FROM t1 IGNORE INDEX (idx);
+--error 1303
+EXPLAIN SELECT * FROM t1 IGNORE INDEX (a);
+--error 1303
+EXPLAIN SELECT * FROM t1 FORCE INDEX (a);
+
+DROP TABLE t1;
+
# End of 4.1 tests