diff options
Diffstat (limited to 'mysql-test/main/derived.result')
-rw-r--r-- | mysql-test/main/derived.result | 63 |
1 files changed, 59 insertions, 4 deletions
diff --git a/mysql-test/main/derived.result b/mysql-test/main/derived.result index 7203c9bf67a..0c23f558757 100644 --- a/mysql-test/main/derived.result +++ b/mysql-test/main/derived.result @@ -1357,6 +1357,29 @@ a b DROP VIEW v1; DROP TABLE t1; # +# MDEV-28616: derived table over union with order by clause that +# contains subquery with unresolvable column reference +# +SELECT 1 FROM ( +SELECT 1 UNION SELECT 2 ORDER BY (SELECT 1 FROM DUAL WHERE xxx = 0) +) dt; +ERROR 42S22: Unknown column 'xxx' in 'where clause' +create table t1 (a int, b int); +insert into t1 values (3,8), (7,2), (1,4), (5,9); +create table t2 (a int, b int); +insert into t2 values (9,1), (7,3), (2,6); +create table t3 (c int, d int); +insert into t3 values (7,8), (1,2), (3,8); +select * from +( +select a,b from t1 where t1.a > 3 +union +select a,b from t2 where t2.b < 6 +order by (a - b / (select a + max(c) from t3 where d = x)) +) dt; +ERROR 42S22: Unknown column 'x' in 'where clause' +drop table t1,t2,t3; +# # End of 10.3 tests # # @@ -1476,6 +1499,34 @@ a 2 drop table t1; # +# MDEV-31022: SIGSEGV in maria_create from create_internal_tmp_table +# keydef incorrectly allocated on the stack in create_internal_tmp_table() +# +CREATE TABLE t1 (c CHAR(1) NULL) ENGINE=MyISAM; +INSERT INTO t1 (c) VALUES (1); +SET statement +optimizer_where_cost=1, +big_tables=1, +in_predicate_conversion_threshold=2 +FOR +SELECT * FROM t1 WHERE c IN ('',''); +c +Warnings: +Warning 1287 '@@big_tables' is deprecated and will be removed in a future release +Warning 1287 '@@big_tables' is deprecated and will be removed in a future release +SET statement +optimizer_where_cost=1, +big_tables=1, +in_predicate_conversion_threshold=2, +sql_mode='' +FOR +SELECT * FROM t1 WHERE c IN ('',''); +c +Warnings: +Warning 1287 '@@big_tables' is deprecated and will be removed in a future release +Warning 1287 '@@big_tables' is deprecated and will be removed in a future release +DROP TABLE t1; +# # End of 11.0 tests # # @@ -1668,7 +1719,8 @@ t1.a = ( select * from (select a from t1) dt where dt.a > 7); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 2 Using where 1 PRIMARY t3 ALL NULL NULL NULL NULL 2 Using where -2 SUBQUERY t1 ALL NULL NULL NULL NULL 2 Using where +2 SUBQUERY <derived3> ALL NULL NULL NULL NULL 2 Using where +3 DERIVED t1 ALL NULL NULL NULL NULL 2 Using where update t1,t3 set t1.a = 1 where t1.a=t3.a and t1.a = ( select * from (select a from t1) dt where dt.a > 7); @@ -1705,7 +1757,8 @@ t1.a = ( select * from (select a from t2) dt where dt.a > 7); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t3 ALL NULL NULL NULL NULL 2 Using where 1 PRIMARY t1 ALL NULL NULL NULL NULL 4 Using where -2 SUBQUERY t2 ALL NULL NULL NULL NULL 4 Using where +2 SUBQUERY <derived3> ALL NULL NULL NULL NULL 4 Using where +3 DERIVED t2 ALL NULL NULL NULL NULL 4 Using where update t1,t3 set t1.a = 1 where t1.a=t3.a and t1.a = ( select * from (select a from t2) dt where dt.a > 7); @@ -1745,7 +1798,8 @@ t1.a = ( select * from (select a from t1) dt where dt.a > 7); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 4 Using where 1 PRIMARY t3 ALL NULL NULL NULL NULL 5 Using where -2 SUBQUERY t1 ALL NULL NULL NULL NULL 4 Using where +2 SUBQUERY <derived3> ALL NULL NULL NULL NULL 4 Using where +3 DERIVED t1 ALL NULL NULL NULL NULL 4 Using where delete from t1 using t1,t3 where t1.a=t3.a and t1.a = ( select * from (select a from t1) dt where dt.a > 7); @@ -1781,7 +1835,8 @@ t1.a = ( select * from (select a from t2) dt where dt.a > 7); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 4 Using where 1 PRIMARY t3 ALL NULL NULL NULL NULL 5 Using where -2 SUBQUERY t2 ALL NULL NULL NULL NULL 4 Using where +2 SUBQUERY <derived3> ALL NULL NULL NULL NULL 4 Using where +3 DERIVED t2 ALL NULL NULL NULL NULL 4 Using where delete from t1 using t1,t3 where t1.a=t3.a and t1.a = ( select * from (select a from t2) dt where dt.a > 7); |