Skip to content

Commit 8754fce

Browse files
dmitryshulgavuvova
authored andcommitted
MDEV-16708: Unsupported commands for prepared statements
Fixed test failures caused by missing output of warnings that got on prepare phase
1 parent aeca826 commit 8754fce

File tree

6 files changed

+22
-1
lines changed

6 files changed

+22
-1
lines changed

mysql-test/main/derived.test

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -475,8 +475,10 @@ CREATE TABLE t1 (a INT) ENGINE=MyISAM;
475475
INSERT INTO t1 VALUES (8);
476476
CREATE TABLE t2 (b INT) ENGINE=MyISAM;
477477
INSERT INTO t2 VALUES (1),(7);
478+
--enable_prepare_warnings
478479
EXPLAIN SELECT * FROM (SELECT * FROM t1) AS table1,
479480
(SELECT DISTINCT * FROM t2) AS table2 WHERE b = a AND a <> ANY (SELECT 9);
481+
--disable_prepare_warnings
480482
DROP TABLE t1, t2;
481483
set optimizer_switch=@save_derived_optimizer_switch_bug;
482484

mysql-test/main/derived_cond_pushdown.test

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1064,9 +1064,10 @@ DROP TABLE t1,t2;
10641064
CREATE TABLE t1 (i INT);
10651065
CREATE OR REPLACE ALGORITHM=TEMPTABLE VIEW v1 AS SELECT * FROM t1;
10661066
INSERT INTO t1 VALUES (1),(2);
1067-
1067+
--enable_prepare_warnings
10681068
EXPLAIN FORMAT=JSON
10691069
SELECT * FROM v1 WHERE i <= ANY ( SELECT 3 );
1070+
--disable_prepare_warnings
10701071

10711072
SELECT * FROM v1 WHERE i <= ANY ( SELECT 3 );
10721073

mysql-test/main/having_cond_pushdown.test

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,14 +73,18 @@ GROUP BY t1.a
7373
HAVING (t1.a>1) OR (a IN (SELECT 3));
7474
eval $no_pushdown $query;
7575
eval $query;
76+
--enable_prepare_warnings
7677
eval explain $query;
7778
eval explain format=json $query;
79+
--disable_prepare_warnings
7880
let $query=
7981
SELECT t1.a,MAX(t1.b)
8082
FROM t1
8183
WHERE (t1.a>1) OR (a IN (SELECT 3))
8284
GROUP BY t1.a;
85+
--enable_prepare_warnings
8386
eval $no_pushdown explain format=json $query;
87+
--disable_prepare_warnings
8488

8589
let $query=
8690
SELECT t1.a,MAX(t1.b),MIN(t1.c)

mysql-test/main/subselect.test

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,15 @@ SET optimizer_switch='mrr=on,mrr_sort_keys=on,index_condition_pushdown=on';
3030
SET optimizer_use_condition_selectivity=4;
3131

3232
select (select 2);
33+
34+
--enable_prepare_warnings
3335
explain extended select (select 2);
3436
SELECT (SELECT 1) UNION SELECT (SELECT 2);
3537
explain extended SELECT (SELECT 1) UNION SELECT (SELECT 2);
3638
SELECT (SELECT (SELECT 0 UNION SELECT 0));
3739
explain extended SELECT (SELECT (SELECT 0 UNION SELECT 0));
40+
--disable_prepare_warnings
41+
3842
-- error ER_ILLEGAL_REFERENCE
3943
SELECT (SELECT 1 FROM (SELECT 1) as b HAVING a=1) as a;
4044
-- error ER_ILLEGAL_REFERENCE
@@ -441,11 +445,15 @@ SELECT * FROM (SELECT 1) b WHERE 1 IN (SELECT *);
441445
CREATE TABLE t2 (id int(11) default NULL, KEY id (id)) ENGINE=MyISAM CHARSET=latin1;
442446
INSERT INTO t2 VALUES (1),(2);
443447
SELECT * FROM t2 WHERE id IN (SELECT 1);
448+
--enable_prepare_warnings
444449
EXPLAIN EXTENDED SELECT * FROM t2 WHERE id IN (SELECT 1);
450+
--disable_prepare_warnings
445451
SELECT * FROM t2 WHERE id IN (SELECT 1 UNION SELECT 3);
446452
SELECT * FROM t2 WHERE id IN (SELECT 1+(select 1));
453+
--enable_prepare_warnings
447454
EXPLAIN EXTENDED SELECT * FROM t2 WHERE id IN (SELECT 1+(select 1));
448455
EXPLAIN EXTENDED SELECT * FROM t2 WHERE id IN (SELECT 1 UNION SELECT 3);
456+
--disable_prepare_warnings
449457
SELECT * FROM t2 WHERE id IN (SELECT 5 UNION SELECT 3);
450458
SELECT * FROM t2 WHERE id IN (SELECT 5 UNION SELECT 2);
451459
-- error ER_UPDATE_TABLE_USED
@@ -501,7 +509,9 @@ select 1.5 > ALL (SELECT * from t1);
501509
select 10.5 > ALL (SELECT * from t1);
502510
select 1.5 > ANY (SELECT * from t1);
503511
select 10.5 > ANY (SELECT * from t1);
512+
--enable_prepare_warnings
504513
explain extended select (select a+1) from t1;
514+
--disable_prepare_warnings
505515
select (select a+1) from t1;
506516
drop table t1;
507517

mysql-test/main/subselect4.test

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,10 @@ DROP TABLE t1,t2;
104104
--echo # Bug#54568: create view cause Assertion failed: 0,
105105
--echo # file .\item_subselect.cc, line 836
106106
--echo #
107+
--enable_prepare_warnings
107108
EXPLAIN SELECT 1 LIKE ( 1 IN ( SELECT 1 ) );
108109
DESCRIBE SELECT 1 LIKE ( 1 IN ( SELECT 1 ) );
110+
--disable_prepare_warnings
109111
--echo # None of the below should crash
110112
CREATE VIEW v1 AS SELECT 1 LIKE ( 1 IN ( SELECT 1 ) );
111113
CREATE VIEW v2 AS SELECT 1 LIKE '%' ESCAPE ( 1 IN ( SELECT 1 ) );

mysql-test/main/table_value_constr.test

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1471,7 +1471,9 @@ insert into t2 values (1), (2);
14711471
let $q1=
14721472
select (values ((select 2))) from t2;
14731473
eval $q1;
1474+
--enable_prepare_warnings
14741475
eval explain $q1;
1476+
--disable_prepare_warnings
14751477
eval prepare stmt from "$q1";
14761478
execute stmt;
14771479
execute stmt;

0 commit comments

Comments
 (0)