mirror of
https://github.com/MariaDB/server.git
synced 2025-11-21 06:21:35 +03:00
Merge
This commit is contained in:
@@ -1562,6 +1562,23 @@ select left(a1,7), left(a2,7) from t1_1024 where (a1,3) in (select substring(b1,
|
||||
left(a1,7) left(a2,7)
|
||||
1 - 01x 2 - 01x
|
||||
drop table t1_1024, t2_1024;
|
||||
#
|
||||
# BUG##836491: Crash in Item_field::Item_field from add_ref_to_table_cond() with semijoin+materialization
|
||||
#
|
||||
CREATE TABLE t1 (c int, d varchar(1), KEY(d)) ;
|
||||
INSERT INTO t1 VALUES (2,'x'),(2,'x'),(2,'j'),(2,'c');
|
||||
CREATE TABLE t2 (a int, d varchar(1)) ;
|
||||
INSERT INTO t2 VALUES (1,'x');
|
||||
CREATE TABLE t3 (d varchar(1)) ;
|
||||
INSERT INTO t3 VALUES ('x'),('x'),('j'),('c');
|
||||
SELECT t2.a, t1.c
|
||||
FROM t1, t2
|
||||
WHERE t2.d IN ( SELECT d FROM t3 )
|
||||
AND t1.d = t2.d
|
||||
GROUP BY 1 , 2;
|
||||
a c
|
||||
1 2
|
||||
drop table t1,t2,t3;
|
||||
set optimizer_switch=@subselect_sj_mat_tmp;
|
||||
set @subselect_mat_test_optimizer_switch_value=null;
|
||||
set @@optimizer_switch='materialization=on,in_to_exists=off,semijoin=off';
|
||||
|
||||
@@ -1729,4 +1729,24 @@ c1 c2
|
||||
2 7
|
||||
5 6
|
||||
DROP TABLE t1, t2, t3;
|
||||
#
|
||||
# BUG#834534: Assertion `0' failed in replace_where_subcondition with semijoin subquery in HAVING
|
||||
#
|
||||
CREATE TABLE t1 ( d int );
|
||||
INSERT INTO t1 VALUES (2),(2),(0),(2),(2);
|
||||
CREATE TABLE t2 ( b int );
|
||||
INSERT INTO t2 VALUES (4),(3),(3);
|
||||
CREATE TABLE t3 ( a int );
|
||||
SELECT *
|
||||
FROM t3
|
||||
WHERE (t3.a) IN (
|
||||
SELECT t1.d
|
||||
FROM t1
|
||||
HAVING ( 4 ) IN (
|
||||
SELECT t2.b
|
||||
FROM t2
|
||||
)
|
||||
);
|
||||
a
|
||||
drop table t1, t2,t3;
|
||||
set optimizer_switch=@subselect_sj_tmp;
|
||||
|
||||
@@ -1740,6 +1740,26 @@ c1 c2
|
||||
2 7
|
||||
5 6
|
||||
DROP TABLE t1, t2, t3;
|
||||
#
|
||||
# BUG#834534: Assertion `0' failed in replace_where_subcondition with semijoin subquery in HAVING
|
||||
#
|
||||
CREATE TABLE t1 ( d int );
|
||||
INSERT INTO t1 VALUES (2),(2),(0),(2),(2);
|
||||
CREATE TABLE t2 ( b int );
|
||||
INSERT INTO t2 VALUES (4),(3),(3);
|
||||
CREATE TABLE t3 ( a int );
|
||||
SELECT *
|
||||
FROM t3
|
||||
WHERE (t3.a) IN (
|
||||
SELECT t1.d
|
||||
FROM t1
|
||||
HAVING ( 4 ) IN (
|
||||
SELECT t2.b
|
||||
FROM t2
|
||||
)
|
||||
);
|
||||
a
|
||||
drop table t1, t2,t3;
|
||||
set optimizer_switch=@subselect_sj_tmp;
|
||||
#
|
||||
# BUG#49129: Wrong result with IN-subquery with join_cache_level=6 and firstmatch=off
|
||||
|
||||
@@ -1600,4 +1600,21 @@ select left(a1,7), left(a2,7) from t1_1024 where (a1,3) in (select substring(b1,
|
||||
left(a1,7) left(a2,7)
|
||||
1 - 01x 2 - 01x
|
||||
drop table t1_1024, t2_1024;
|
||||
#
|
||||
# BUG##836491: Crash in Item_field::Item_field from add_ref_to_table_cond() with semijoin+materialization
|
||||
#
|
||||
CREATE TABLE t1 (c int, d varchar(1), KEY(d)) ;
|
||||
INSERT INTO t1 VALUES (2,'x'),(2,'x'),(2,'j'),(2,'c');
|
||||
CREATE TABLE t2 (a int, d varchar(1)) ;
|
||||
INSERT INTO t2 VALUES (1,'x');
|
||||
CREATE TABLE t3 (d varchar(1)) ;
|
||||
INSERT INTO t3 VALUES ('x'),('x'),('j'),('c');
|
||||
SELECT t2.a, t1.c
|
||||
FROM t1, t2
|
||||
WHERE t2.d IN ( SELECT d FROM t3 )
|
||||
AND t1.d = t2.d
|
||||
GROUP BY 1 , 2;
|
||||
a c
|
||||
1 2
|
||||
drop table t1,t2,t3;
|
||||
set optimizer_switch=@subselect_sj_mat_tmp;
|
||||
|
||||
@@ -1571,5 +1571,28 @@ SELECT * FROM t1 WHERE c1 IN ( SELECT t3.c1 FROM t3 LEFT JOIN t2 ON t2 .c1 = t3
|
||||
|
||||
DROP TABLE t1, t2, t3;
|
||||
|
||||
--echo #
|
||||
--echo # BUG#834534: Assertion `0' failed in replace_where_subcondition with semijoin subquery in HAVING
|
||||
--echo #
|
||||
CREATE TABLE t1 ( d int );
|
||||
INSERT INTO t1 VALUES (2),(2),(0),(2),(2);
|
||||
|
||||
CREATE TABLE t2 ( b int );
|
||||
INSERT INTO t2 VALUES (4),(3),(3);
|
||||
|
||||
CREATE TABLE t3 ( a int );
|
||||
|
||||
SELECT *
|
||||
FROM t3
|
||||
WHERE (t3.a) IN (
|
||||
SELECT t1.d
|
||||
FROM t1
|
||||
HAVING ( 4 ) IN (
|
||||
SELECT t2.b
|
||||
FROM t2
|
||||
)
|
||||
);
|
||||
drop table t1, t2,t3;
|
||||
|
||||
# The following command must be the last one the file
|
||||
set optimizer_switch=@subselect_sj_tmp;
|
||||
|
||||
@@ -1242,5 +1242,26 @@ select left(a1,7), left(a2,7) from t1_1024 where (a1,3) in (select substring(b1,
|
||||
|
||||
drop table t1_1024, t2_1024;
|
||||
|
||||
--echo #
|
||||
--echo # BUG##836491: Crash in Item_field::Item_field from add_ref_to_table_cond() with semijoin+materialization
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (c int, d varchar(1), KEY(d)) ;
|
||||
INSERT INTO t1 VALUES (2,'x'),(2,'x'),(2,'j'),(2,'c');
|
||||
|
||||
CREATE TABLE t2 (a int, d varchar(1)) ;
|
||||
INSERT INTO t2 VALUES (1,'x');
|
||||
|
||||
CREATE TABLE t3 (d varchar(1)) ;
|
||||
INSERT INTO t3 VALUES ('x'),('x'),('j'),('c');
|
||||
|
||||
SELECT t2.a, t1.c
|
||||
FROM t1, t2
|
||||
WHERE t2.d IN ( SELECT d FROM t3 )
|
||||
AND t1.d = t2.d
|
||||
GROUP BY 1 , 2;
|
||||
|
||||
drop table t1,t2,t3;
|
||||
|
||||
set optimizer_switch=@subselect_sj_mat_tmp;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user