Commit 20968257 authored by unknown's avatar unknown

Bug lp:781508: Take relevant test cases from MySQL 5.6 feature preview trees

Identified all test cases in the MySQL file subquery_mat.inc that are
not present in MariaDB. In total found 8 test cases for the following
MySQL bugs:
* BUG#49630 - not a bug in MariaDB, added test case
* BUG#52538 - not a bug in MariaDB, added test case (checked with VG)
* BUG#53103 - not a bug in MariaDB, added test case
* BUG#54511 - not a bug in MariaDB, added test case
* BUG#56367 - not a bug in MariaDB, added test case
* BUG#59833 - not a bug in MariaDB, added test case
* BUG#11852644 - not a bug in MariaDB, added test case
* BUG#12668294 - not a bug in MariaDB, added test case

All of these MySQL bugs are not present in MariaDB 5.3.

The comparison was based on the following version of
mysql-trunk:

revno: 3350 [merge]
committer: Marko Mäkelä <marko.makela@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2011-08-08 12:42:09 +0300
message:
  Merge mysql-5.5 to mysql-trunk.
parent a6037394
...@@ -1209,6 +1209,228 @@ a b ...@@ -1209,6 +1209,228 @@ a b
execute st1; execute st1;
a b a b
drop table t1; drop table t1;
#
# BUG#49630: Segfault in select_describe() with double
# nested subquery and materialization
#
CREATE TABLE t1 (t1i int);
CREATE TABLE t2 (t2i int);
CREATE TABLE t3 (t3i int);
CREATE TABLE t4 (t4i int);
INSERT INTO t1 VALUES (1);
INSERT INTO t2 VALUES (1),(2);
INSERT INTO t3 VALUES (1),(2);
INSERT INTO t4 VALUES (1),(2);
EXPLAIN
SELECT t1i
FROM t1 JOIN t4 ON t1i=t4i
WHERE (t1i) IN (
SELECT t2i
FROM t2
WHERE (t2i) IN (
SELECT t3i
FROM t3
GROUP BY t3i
)
);
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 system NULL NULL NULL NULL 1
1 PRIMARY t4 ALL NULL NULL NULL NULL 2 Using where
2 SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where
3 SUBQUERY t3 ALL NULL NULL NULL NULL 2 Using temporary
DROP TABLE t1,t2,t3,t4;
CREATE TABLE t1 (
pk INTEGER AUTO_INCREMENT,
col_int_nokey INTEGER,
col_int_key INTEGER,
col_varchar_key VARCHAR(1),
PRIMARY KEY (pk),
KEY (col_int_key),
KEY (col_varchar_key, col_int_key)
)
;
INSERT INTO t1 (
col_int_key, col_int_nokey, col_varchar_key
)
VALUES
(2, NULL, 'w'),
(9, 7, 'm'),
(3, 9, 'm'),
(9, 7, 'k'),
(NULL, 4, 'r'),
(9, 2, 't'),
(3, 6, 'j'),
(8, 8, 'u'),
(8, NULL, 'h'),
(53, 5, 'o'),
(0, NULL, NULL),
(5, 6, 'k'),
(166, 188, 'e'),
(3, 2, 'n'),
(0, 1, 't'),
(1, 1, 'c'),
(9, 0, 'm'),
(5, 9, 'y'),
(6, NULL, 'f'),
(2, 4, 'd')
;
SELECT table2.col_varchar_key AS field1,
table2.col_int_nokey AS field2
FROM ( t1 AS table1 LEFT OUTER JOIN t1 AS table2
ON (table2.col_varchar_key = table1.col_varchar_key ) )
WHERE table1.pk = 6
HAVING ( field2 ) IN
( SELECT SUBQUERY2_t2.col_int_nokey AS SUBQUERY2_field2
FROM ( t1 AS SUBQUERY2_t1 JOIN t1 AS SUBQUERY2_t2
ON (SUBQUERY2_t2.col_varchar_key = SUBQUERY2_t1.col_varchar_key ) ) )
ORDER BY field2
;
field1 field2
t 1
t 2
drop table t1;
#
# BUG#53103: MTR test ps crashes in optimize_cond()
# when running with --debug
#
CREATE TABLE t1(track varchar(15));
INSERT INTO t1 VALUES ('CAD'), ('CAD');
PREPARE STMT FROM
"SELECT 1 FROM t1
WHERE
track IN (SELECT track FROM t1
GROUP BY track
HAVING track>='CAD')";
EXECUTE STMT ;
1
1
1
EXECUTE STMT ;
1
1
1
DEALLOCATE PREPARE STMT;
DROP TABLE t1;
# End of BUG#53103
#
# BUG#54511 - Assertion failed: cache != 0L in file
# sql_select.cc::sub_select_cache on HAVING
#
CREATE TABLE t1 (i int(11));
CREATE TABLE t2 (c char(1));
CREATE TABLE t3 (c char(1));
INSERT INTO t1 VALUES (1), (2);
INSERT INTO t2 VALUES ('a'), ('b');
INSERT INTO t3 VALUES ('x'), ('y');
SELECT COUNT( i ),i
FROM t1
HAVING ('c')
IN (SELECT t2.c FROM (t2 JOIN t3));
COUNT( i ) i
DROP TABLE t1,t2,t3;
# End BUG#54511
#
# BUG#56367 - Assertion exec_method != EXEC_MATERIALIZATION...
# on subquery in FROM
#
CREATE TABLE t1 (a INTEGER);
CREATE TABLE t2 (b INTEGER);
INSERT INTO t2 VALUES (1);
explain SELECT a FROM (
SELECT t1.* FROM t1 LEFT JOIN t2 ON t1.a > 3 OR t2.b IN (SELECT a FROM t1)
) table1;
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY <derived2> ALL NULL NULL NULL NULL 2
2 DERIVED NULL NULL NULL NULL NULL NULL NULL no matching row in const table
3 SUBQUERY NULL NULL NULL NULL NULL NULL NULL no matching row in const table
SELECT a FROM (
SELECT t1.* FROM t1 LEFT JOIN t2 ON t1.a > 3 OR t2.b IN (SELECT a FROM t1)
) table1;
a
DROP TABLE t1, t2;
# End BUG#56367
#
# Bug#59833 - materialization=on/off leads to different result set
# when using IN
#
CREATE TABLE t1 (
pk int NOT NULL,
f1 int DEFAULT NULL,
PRIMARY KEY (pk)
) ENGINE=MyISAM;
CREATE TABLE t2 (
pk int NOT NULL,
f1 int DEFAULT NULL,
PRIMARY KEY (pk)
) ENGINE=MyISAM;
INSERT INTO t1 VALUES (10,0);
INSERT INTO t2 VALUES (10,0),(11,0);
explain SELECT * FROM t1 JOIN t2 USING (f1)
WHERE t1.f1 IN (SELECT t1.pk FROM t1 ORDER BY t1.f1);
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 system NULL NULL NULL NULL 1
1 PRIMARY t2 ALL NULL NULL NULL NULL 2 Using where
2 SUBQUERY t1 system NULL NULL NULL NULL 1
SELECT * FROM t1 JOIN t2 USING (f1)
WHERE t1.f1 IN (SELECT t1.pk FROM t1 ORDER BY t1.f1);
f1 pk pk
DROP TABLE t1, t2;
# End Bug#59833
#
# Bug#11852644 - CRASH IN ITEM_REF::SAVE_IN_FIELD ON SELECT DISTINCT
#
CREATE TABLE t1 (
col_varchar_key varchar(1) DEFAULT NULL,
col_varchar_nokey varchar(1) DEFAULT NULL,
KEY col_varchar_key (col_varchar_key))
;
INSERT INTO t1 VALUES
('v','v'),('r','r');
CREATE TABLE t2 (
col_varchar_key varchar(1) DEFAULT NULL,
col_varchar_nokey varchar(1) DEFAULT NULL,
KEY col_varchar_key(col_varchar_key))
;
INSERT INTO t2 VALUES
('r','r'),('c','c');
CREATE VIEW v3 AS SELECT * FROM t2;
SELECT DISTINCT alias2.col_varchar_key
FROM t1 AS alias1 JOIN v3 AS alias2
ON alias2.col_varchar_key = alias1.col_varchar_key
HAVING col_varchar_key IN (SELECT col_varchar_nokey FROM t2)
;
col_varchar_key
r
DROP TABLE t1, t2;
DROP VIEW v3;
# End Bug#11852644
# Bug#12668294 - GROUP BY ON EMPTY RESULT GIVES EMPTY ROW
# INSTEAD OF NULL WHEN MATERIALIZATION ON
CREATE TABLE t1 (col_int_nokey INT) ENGINE=MEMORY;
CREATE TABLE t2 (col_int_nokey INT) ENGINE=MEMORY;
INSERT INTO t2 VALUES (8),(7);
CREATE TABLE t3 (col_int_nokey INT) ENGINE=MEMORY;
INSERT INTO t3 VALUES (7);
SELECT MIN(t3.col_int_nokey),t1.col_int_nokey AS field3
FROM t3
LEFT JOIN t1
ON t1.col_int_nokey
WHERE (194, 200) IN (
SELECT SQ4_alias1.col_int_nokey,
SQ4_alias2.col_int_nokey
FROM t2 AS SQ4_alias1
JOIN
t2 AS SQ4_alias2
ON SQ4_alias2.col_int_nokey = 5
)
GROUP BY field3 ;
MIN(t3.col_int_nokey) field3
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
CREATE TABLE t1 (f1 INT, f2 DECIMAL(5,3)) ENGINE=MyISAM; CREATE TABLE t1 (f1 INT, f2 DECIMAL(5,3)) ENGINE=MyISAM;
INSERT INTO t1 (f1, f2) VALUES (1, 1.789); INSERT INTO t1 (f1, f2) VALUES (1, 1.789);
INSERT INTO t1 (f1, f2) VALUES (13, 1.454); INSERT INTO t1 (f1, f2) VALUES (13, 1.454);
......
...@@ -1245,6 +1245,230 @@ a b ...@@ -1245,6 +1245,230 @@ a b
execute st1; execute st1;
a b a b
drop table t1; drop table t1;
#
# BUG#49630: Segfault in select_describe() with double
# nested subquery and materialization
#
CREATE TABLE t1 (t1i int);
CREATE TABLE t2 (t2i int);
CREATE TABLE t3 (t3i int);
CREATE TABLE t4 (t4i int);
INSERT INTO t1 VALUES (1);
INSERT INTO t2 VALUES (1),(2);
INSERT INTO t3 VALUES (1),(2);
INSERT INTO t4 VALUES (1),(2);
EXPLAIN
SELECT t1i
FROM t1 JOIN t4 ON t1i=t4i
WHERE (t1i) IN (
SELECT t2i
FROM t2
WHERE (t2i) IN (
SELECT t3i
FROM t3
GROUP BY t3i
)
);
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 system NULL NULL NULL NULL 1
1 PRIMARY <subquery3> eq_ref distinct_key distinct_key 5 const 1 Start temporary
1 PRIMARY t2 ALL NULL NULL NULL NULL 2 Using where; End temporary; Using join buffer (flat, BNL join)
1 PRIMARY t4 ALL NULL NULL NULL NULL 2 Using where; Using join buffer (flat, BNL join)
3 SUBQUERY t3 ALL NULL NULL NULL NULL 2 Using temporary
DROP TABLE t1,t2,t3,t4;
CREATE TABLE t1 (
pk INTEGER AUTO_INCREMENT,
col_int_nokey INTEGER,
col_int_key INTEGER,
col_varchar_key VARCHAR(1),
PRIMARY KEY (pk),
KEY (col_int_key),
KEY (col_varchar_key, col_int_key)
)
;
INSERT INTO t1 (
col_int_key, col_int_nokey, col_varchar_key
)
VALUES
(2, NULL, 'w'),
(9, 7, 'm'),
(3, 9, 'm'),
(9, 7, 'k'),
(NULL, 4, 'r'),
(9, 2, 't'),
(3, 6, 'j'),
(8, 8, 'u'),
(8, NULL, 'h'),
(53, 5, 'o'),
(0, NULL, NULL),
(5, 6, 'k'),
(166, 188, 'e'),
(3, 2, 'n'),
(0, 1, 't'),
(1, 1, 'c'),
(9, 0, 'm'),
(5, 9, 'y'),
(6, NULL, 'f'),
(2, 4, 'd')
;
SELECT table2.col_varchar_key AS field1,
table2.col_int_nokey AS field2
FROM ( t1 AS table1 LEFT OUTER JOIN t1 AS table2
ON (table2.col_varchar_key = table1.col_varchar_key ) )
WHERE table1.pk = 6
HAVING ( field2 ) IN
( SELECT SUBQUERY2_t2.col_int_nokey AS SUBQUERY2_field2
FROM ( t1 AS SUBQUERY2_t1 JOIN t1 AS SUBQUERY2_t2
ON (SUBQUERY2_t2.col_varchar_key = SUBQUERY2_t1.col_varchar_key ) ) )
ORDER BY field2
;
field1 field2
t 1
t 2
drop table t1;
#
# BUG#53103: MTR test ps crashes in optimize_cond()
# when running with --debug
#
CREATE TABLE t1(track varchar(15));
INSERT INTO t1 VALUES ('CAD'), ('CAD');
PREPARE STMT FROM
"SELECT 1 FROM t1
WHERE
track IN (SELECT track FROM t1
GROUP BY track
HAVING track>='CAD')";
EXECUTE STMT ;
1
1
1
EXECUTE STMT ;
1
1
1
DEALLOCATE PREPARE STMT;
DROP TABLE t1;
# End of BUG#53103
#
# BUG#54511 - Assertion failed: cache != 0L in file
# sql_select.cc::sub_select_cache on HAVING
#
CREATE TABLE t1 (i int(11));
CREATE TABLE t2 (c char(1));
CREATE TABLE t3 (c char(1));
INSERT INTO t1 VALUES (1), (2);
INSERT INTO t2 VALUES ('a'), ('b');
INSERT INTO t3 VALUES ('x'), ('y');
SELECT COUNT( i ),i
FROM t1
HAVING ('c')
IN (SELECT t2.c FROM (t2 JOIN t3));
COUNT( i ) i
DROP TABLE t1,t2,t3;
# End BUG#54511
#
# BUG#56367 - Assertion exec_method != EXEC_MATERIALIZATION...
# on subquery in FROM
#
CREATE TABLE t1 (a INTEGER);
CREATE TABLE t2 (b INTEGER);
INSERT INTO t2 VALUES (1);
explain SELECT a FROM (
SELECT t1.* FROM t1 LEFT JOIN t2 ON t1.a > 3 OR t2.b IN (SELECT a FROM t1)
) table1;
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY <derived2> ALL NULL NULL NULL NULL 2
2 DERIVED NULL NULL NULL NULL NULL NULL NULL no matching row in const table
3 SUBQUERY NULL NULL NULL NULL NULL NULL NULL no matching row in const table
SELECT a FROM (
SELECT t1.* FROM t1 LEFT JOIN t2 ON t1.a > 3 OR t2.b IN (SELECT a FROM t1)
) table1;
a
DROP TABLE t1, t2;
# End BUG#56367
#
# Bug#59833 - materialization=on/off leads to different result set
# when using IN
#
CREATE TABLE t1 (
pk int NOT NULL,
f1 int DEFAULT NULL,
PRIMARY KEY (pk)
) ENGINE=MyISAM;
CREATE TABLE t2 (
pk int NOT NULL,
f1 int DEFAULT NULL,
PRIMARY KEY (pk)
) ENGINE=MyISAM;
INSERT INTO t1 VALUES (10,0);
INSERT INTO t2 VALUES (10,0),(11,0);
explain SELECT * FROM t1 JOIN t2 USING (f1)
WHERE t1.f1 IN (SELECT t1.pk FROM t1 ORDER BY t1.f1);
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 system NULL NULL NULL NULL 1
1 PRIMARY <subquery2> eq_ref distinct_key distinct_key 4 const 1
1 PRIMARY t2 ALL NULL NULL NULL NULL 2 Using where; Using join buffer (flat, BNL join)
2 SUBQUERY t1 system NULL NULL NULL NULL 1
SELECT * FROM t1 JOIN t2 USING (f1)
WHERE t1.f1 IN (SELECT t1.pk FROM t1 ORDER BY t1.f1);
f1 pk pk
DROP TABLE t1, t2;
# End Bug#59833
#
# Bug#11852644 - CRASH IN ITEM_REF::SAVE_IN_FIELD ON SELECT DISTINCT
#
CREATE TABLE t1 (
col_varchar_key varchar(1) DEFAULT NULL,
col_varchar_nokey varchar(1) DEFAULT NULL,
KEY col_varchar_key (col_varchar_key))
;
INSERT INTO t1 VALUES
('v','v'),('r','r');
CREATE TABLE t2 (
col_varchar_key varchar(1) DEFAULT NULL,
col_varchar_nokey varchar(1) DEFAULT NULL,
KEY col_varchar_key(col_varchar_key))
;
INSERT INTO t2 VALUES
('r','r'),('c','c');
CREATE VIEW v3 AS SELECT * FROM t2;
SELECT DISTINCT alias2.col_varchar_key
FROM t1 AS alias1 JOIN v3 AS alias2
ON alias2.col_varchar_key = alias1.col_varchar_key
HAVING col_varchar_key IN (SELECT col_varchar_nokey FROM t2)
;
col_varchar_key
r
DROP TABLE t1, t2;
DROP VIEW v3;
# End Bug#11852644
# Bug#12668294 - GROUP BY ON EMPTY RESULT GIVES EMPTY ROW
# INSTEAD OF NULL WHEN MATERIALIZATION ON
CREATE TABLE t1 (col_int_nokey INT) ENGINE=MEMORY;
CREATE TABLE t2 (col_int_nokey INT) ENGINE=MEMORY;
INSERT INTO t2 VALUES (8),(7);
CREATE TABLE t3 (col_int_nokey INT) ENGINE=MEMORY;
INSERT INTO t3 VALUES (7);
SELECT MIN(t3.col_int_nokey),t1.col_int_nokey AS field3
FROM t3
LEFT JOIN t1
ON t1.col_int_nokey
WHERE (194, 200) IN (
SELECT SQ4_alias1.col_int_nokey,
SQ4_alias2.col_int_nokey
FROM t2 AS SQ4_alias1
JOIN
t2 AS SQ4_alias2
ON SQ4_alias2.col_int_nokey = 5
)
GROUP BY field3 ;
MIN(t3.col_int_nokey) field3
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
CREATE TABLE t1 (f1 INT, f2 DECIMAL(5,3)) ENGINE=MyISAM; CREATE TABLE t1 (f1 INT, f2 DECIMAL(5,3)) ENGINE=MyISAM;
INSERT INTO t1 (f1, f2) VALUES (1, 1.789); INSERT INTO t1 (f1, f2) VALUES (1, 1.789);
INSERT INTO t1 (f1, f2) VALUES (13, 1.454); INSERT INTO t1 (f1, f2) VALUES (13, 1.454);
......
...@@ -875,6 +875,259 @@ execute st1; ...@@ -875,6 +875,259 @@ execute st1;
execute st1; execute st1;
drop table t1; drop table t1;
--echo #
--echo # BUG#49630: Segfault in select_describe() with double
--echo # nested subquery and materialization
--echo #
CREATE TABLE t1 (t1i int);
CREATE TABLE t2 (t2i int);
CREATE TABLE t3 (t3i int);
CREATE TABLE t4 (t4i int);
INSERT INTO t1 VALUES (1); # Note: t1 must be const table
INSERT INTO t2 VALUES (1),(2);
INSERT INTO t3 VALUES (1),(2);
INSERT INTO t4 VALUES (1),(2);
--echo
EXPLAIN
SELECT t1i
FROM t1 JOIN t4 ON t1i=t4i
WHERE (t1i) IN (
SELECT t2i
FROM t2
WHERE (t2i) IN (
SELECT t3i
FROM t3
GROUP BY t3i
)
);
DROP TABLE t1,t2,t3,t4;
#
# Bug #52538 Valgrind bug: Item_in_subselect::init_left_expr_cache()
#
CREATE TABLE t1 (
pk INTEGER AUTO_INCREMENT,
col_int_nokey INTEGER,
col_int_key INTEGER,
col_varchar_key VARCHAR(1),
PRIMARY KEY (pk),
KEY (col_int_key),
KEY (col_varchar_key, col_int_key)
)
;
INSERT INTO t1 (
col_int_key, col_int_nokey, col_varchar_key
)
VALUES
(2, NULL, 'w'),
(9, 7, 'm'),
(3, 9, 'm'),
(9, 7, 'k'),
(NULL, 4, 'r'),
(9, 2, 't'),
(3, 6, 'j'),
(8, 8, 'u'),
(8, NULL, 'h'),
(53, 5, 'o'),
(0, NULL, NULL),
(5, 6, 'k'),
(166, 188, 'e'),
(3, 2, 'n'),
(0, 1, 't'),
(1, 1, 'c'),
(9, 0, 'm'),
(5, 9, 'y'),
(6, NULL, 'f'),
(2, 4, 'd')
;
SELECT table2.col_varchar_key AS field1,
table2.col_int_nokey AS field2
FROM ( t1 AS table1 LEFT OUTER JOIN t1 AS table2
ON (table2.col_varchar_key = table1.col_varchar_key ) )
WHERE table1.pk = 6
HAVING ( field2 ) IN
( SELECT SUBQUERY2_t2.col_int_nokey AS SUBQUERY2_field2
FROM ( t1 AS SUBQUERY2_t1 JOIN t1 AS SUBQUERY2_t2
ON (SUBQUERY2_t2.col_varchar_key = SUBQUERY2_t1.col_varchar_key ) ) )
ORDER BY field2
;
drop table t1;
--echo #
--echo # BUG#53103: MTR test ps crashes in optimize_cond()
--echo # when running with --debug
--echo #
CREATE TABLE t1(track varchar(15));
INSERT INTO t1 VALUES ('CAD'), ('CAD');
PREPARE STMT FROM
"SELECT 1 FROM t1
WHERE
track IN (SELECT track FROM t1
GROUP BY track
HAVING track>='CAD')";
EXECUTE STMT ;
EXECUTE STMT ;
DEALLOCATE PREPARE STMT;
DROP TABLE t1;
--echo # End of BUG#53103
--echo #
--echo # BUG#54511 - Assertion failed: cache != 0L in file
--echo # sql_select.cc::sub_select_cache on HAVING
--echo #
CREATE TABLE t1 (i int(11));
CREATE TABLE t2 (c char(1));
CREATE TABLE t3 (c char(1));
# These records are needed for the test to fail with MyISAM. The test
# fails with InnoDB without these (difference due to optimization of
# aggregates available only in MyISAM)
INSERT INTO t1 VALUES (1), (2);
INSERT INTO t2 VALUES ('a'), ('b');
INSERT INTO t3 VALUES ('x'), ('y');
SELECT COUNT( i ),i
FROM t1
HAVING ('c')
IN (SELECT t2.c FROM (t2 JOIN t3));
DROP TABLE t1,t2,t3;
--echo # End BUG#54511
--echo #
--echo # BUG#56367 - Assertion exec_method != EXEC_MATERIALIZATION...
--echo # on subquery in FROM
--echo #
CREATE TABLE t1 (a INTEGER);
CREATE TABLE t2 (b INTEGER);
INSERT INTO t2 VALUES (1);
let $query =
SELECT a FROM (
SELECT t1.* FROM t1 LEFT JOIN t2 ON t1.a > 3 OR t2.b IN (SELECT a FROM t1)
) table1;
eval explain $query;
eval $query;
DROP TABLE t1, t2;
--echo # End BUG#56367
--echo #
--echo # Bug#59833 - materialization=on/off leads to different result set
--echo # when using IN
--echo #
CREATE TABLE t1 (
pk int NOT NULL,
f1 int DEFAULT NULL,
PRIMARY KEY (pk)
) ENGINE=MyISAM;
CREATE TABLE t2 (
pk int NOT NULL,
f1 int DEFAULT NULL,
PRIMARY KEY (pk)
) ENGINE=MyISAM;
INSERT INTO t1 VALUES (10,0);
INSERT INTO t2 VALUES (10,0),(11,0);
let $query=
SELECT * FROM t1 JOIN t2 USING (f1)
WHERE t1.f1 IN (SELECT t1.pk FROM t1 ORDER BY t1.f1);
eval explain $query;
eval $query;
DROP TABLE t1, t2;
--echo # End Bug#59833
--echo #
--echo # Bug#11852644 - CRASH IN ITEM_REF::SAVE_IN_FIELD ON SELECT DISTINCT
--echo #
CREATE TABLE t1 (
col_varchar_key varchar(1) DEFAULT NULL,
col_varchar_nokey varchar(1) DEFAULT NULL,
KEY col_varchar_key (col_varchar_key))
;
INSERT INTO t1 VALUES
('v','v'),('r','r');
CREATE TABLE t2 (
col_varchar_key varchar(1) DEFAULT NULL,
col_varchar_nokey varchar(1) DEFAULT NULL,
KEY col_varchar_key(col_varchar_key))
;
INSERT INTO t2 VALUES
('r','r'),('c','c');
CREATE VIEW v3 AS SELECT * FROM t2;
SELECT DISTINCT alias2.col_varchar_key
FROM t1 AS alias1 JOIN v3 AS alias2
ON alias2.col_varchar_key = alias1.col_varchar_key
HAVING col_varchar_key IN (SELECT col_varchar_nokey FROM t2)
;
DROP TABLE t1, t2;
DROP VIEW v3;
--echo # End Bug#11852644
--echo
--echo # Bug#12668294 - GROUP BY ON EMPTY RESULT GIVES EMPTY ROW
--echo # INSTEAD OF NULL WHEN MATERIALIZATION ON
--echo
CREATE TABLE t1 (col_int_nokey INT) ENGINE=MEMORY;
CREATE TABLE t2 (col_int_nokey INT) ENGINE=MEMORY;
INSERT INTO t2 VALUES (8),(7);
CREATE TABLE t3 (col_int_nokey INT) ENGINE=MEMORY;
INSERT INTO t3 VALUES (7);
SELECT MIN(t3.col_int_nokey),t1.col_int_nokey AS field3
FROM t3
LEFT JOIN t1
ON t1.col_int_nokey
WHERE (194, 200) IN (
SELECT SQ4_alias1.col_int_nokey,
SQ4_alias2.col_int_nokey
FROM t2 AS SQ4_alias1
JOIN
t2 AS SQ4_alias2
ON SQ4_alias2.col_int_nokey = 5
)
GROUP BY field3 ;
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
# #
# Bug #44303 Assertion failures in Field_new_decimal::store_decimal # Bug #44303 Assertion failures in Field_new_decimal::store_decimal
# when executing materialized InsideOut semijoin # when executing materialized InsideOut semijoin
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment