mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 13:02:28 +01:00
b0395d8701
Also fixed a wrong result for a test case for mdev-7691 (the alternative one). The test cases for all these bug have materialized semi-joins used inside dependent sub-queries. The patch actually reverts the change inroduced by Monty in 2003. It looks like this change is not valid anymore after the implementation of semi-joins. Adjusted output from EXPLAIN for many other test cases.
58 lines
2.3 KiB
Text
58 lines
2.3 KiB
Text
--- innodb_icp.result 2017-04-02 23:39:45.063149325 -0700
|
|
+++ innodb_icp,innodb_plugin.result 2017-04-02 23:36:33.279164925 -0700
|
|
@@ -213,7 +213,7 @@
|
|
EXPLAIN
|
|
SELECT c1 FROM t3 WHERE c1 >= 'c-1004=w' and c1 <= 'c-1006=w' and i1 > 2;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
-1 SIMPLE t3 range c1 c1 12 NULL 2 Using index condition; Using where
|
|
+1 SIMPLE t3 range c1 c1 12 NULL 2 Using where
|
|
SELECT c1 FROM t3 WHERE c1 >= 'c-1004=w' and c1 <= 'c-1006=w' and i1 > 2;
|
|
c1
|
|
EXPLAIN
|
|
@@ -637,7 +637,7 @@
|
|
WHERE NOT(b = 'Texas') AND b BETWEEN 'wy' AND 'y' OR b = 'Pennsylvania'
|
|
ORDER BY a;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
-1 SIMPLE t1 range b b 13 NULL 2 Using where; Rowid-ordered scan; Using filesort
|
|
+1 SIMPLE t1 range b b 13 NULL 2 Using where; Using filesort
|
|
SELECT * FROM t1
|
|
WHERE NOT(b = 'Texas') AND b BETWEEN 'wy' AND 'y' OR b = 'Pennsylvania'
|
|
ORDER BY a;
|
|
@@ -649,7 +649,7 @@
|
|
WHERE NOT(b = 'Texas') AND b BETWEEN 'wy' AND 'y' OR b = 'Pennsylvania'
|
|
ORDER BY a;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
-1 SIMPLE t1 range b b 13 NULL 2 Using index condition; Using where; Rowid-ordered scan; Using filesort
|
|
+1 SIMPLE t1 range b b 13 NULL 2 Using where; Using filesort
|
|
SELECT * FROM t1
|
|
WHERE NOT(b = 'Texas') AND b BETWEEN 'wy' AND 'y' OR b = 'Pennsylvania'
|
|
ORDER BY a;
|
|
@@ -825,15 +825,15 @@
|
|
4 4
|
|
show status like "Handler_icp%";
|
|
Variable_name Value
|
|
-Handler_icp_attempts 2
|
|
-Handler_icp_match 1
|
|
+Handler_icp_attempts 0
|
|
+Handler_icp_match 0
|
|
SELECT * FROM t1 WHERE (c2='3' or c2='4') and c2 % 2 = 0 ;
|
|
c1 c2
|
|
4 4
|
|
show status like "Handler_icp%";
|
|
Variable_name Value
|
|
-Handler_icp_attempts 2
|
|
-Handler_icp_match 1
|
|
+Handler_icp_attempts 0
|
|
+Handler_icp_match 0
|
|
DROP TABLE t1;
|
|
create table t1 (a int,b char(5),primary key (a), key (b(1)));
|
|
insert into t1 values ('a','b');
|
|
@@ -868,7 +868,7 @@
|
|
EXPLAIN
|
|
SELECT * FROM t1 FORCE INDEX(idx1) WHERE (c1='aa' AND c2='x') OR (c1='a' AND c2='y');
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
-1 SIMPLE t1 range idx1 idx1 10 NULL 2 Using index condition; Using where
|
|
+1 SIMPLE t1 range idx1 idx1 10 NULL 2 Using where
|
|
SELECT * FROM t1 FORCE INDEX(idx1) WHERE (c1='aa' AND c2='x') OR (c1='a' AND c2='y');
|
|
c1 c2
|
|
aa x
|