From 8754fce8b086911a2446cb414f770ece13ef1d27 Mon Sep 17 00:00:00 2001 From: Dmitry Shulga Date: Wed, 28 Apr 2021 12:44:46 +0700 Subject: MDEV-16708: Unsupported commands for prepared statements Fixed test failures caused by missing output of warnings that got on prepare phase --- mysql-test/main/subselect.test | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'mysql-test/main/subselect.test') diff --git a/mysql-test/main/subselect.test b/mysql-test/main/subselect.test index a58a08e1a58..19c30bd6dc8 100644 --- a/mysql-test/main/subselect.test +++ b/mysql-test/main/subselect.test @@ -30,11 +30,15 @@ SET optimizer_switch='mrr=on,mrr_sort_keys=on,index_condition_pushdown=on'; SET optimizer_use_condition_selectivity=4; select (select 2); + +--enable_prepare_warnings explain extended select (select 2); SELECT (SELECT 1) UNION SELECT (SELECT 2); explain extended SELECT (SELECT 1) UNION SELECT (SELECT 2); SELECT (SELECT (SELECT 0 UNION SELECT 0)); explain extended SELECT (SELECT (SELECT 0 UNION SELECT 0)); +--disable_prepare_warnings + -- error ER_ILLEGAL_REFERENCE SELECT (SELECT 1 FROM (SELECT 1) as b HAVING a=1) as a; -- error ER_ILLEGAL_REFERENCE @@ -441,11 +445,15 @@ SELECT * FROM (SELECT 1) b WHERE 1 IN (SELECT *); CREATE TABLE t2 (id int(11) default NULL, KEY id (id)) ENGINE=MyISAM CHARSET=latin1; INSERT INTO t2 VALUES (1),(2); SELECT * FROM t2 WHERE id IN (SELECT 1); +--enable_prepare_warnings EXPLAIN EXTENDED SELECT * FROM t2 WHERE id IN (SELECT 1); +--disable_prepare_warnings SELECT * FROM t2 WHERE id IN (SELECT 1 UNION SELECT 3); SELECT * FROM t2 WHERE id IN (SELECT 1+(select 1)); +--enable_prepare_warnings EXPLAIN EXTENDED SELECT * FROM t2 WHERE id IN (SELECT 1+(select 1)); EXPLAIN EXTENDED SELECT * FROM t2 WHERE id IN (SELECT 1 UNION SELECT 3); +--disable_prepare_warnings SELECT * FROM t2 WHERE id IN (SELECT 5 UNION SELECT 3); SELECT * FROM t2 WHERE id IN (SELECT 5 UNION SELECT 2); -- error ER_UPDATE_TABLE_USED @@ -501,7 +509,9 @@ select 1.5 > ALL (SELECT * from t1); select 10.5 > ALL (SELECT * from t1); select 1.5 > ANY (SELECT * from t1); select 10.5 > ANY (SELECT * from t1); +--enable_prepare_warnings explain extended select (select a+1) from t1; +--disable_prepare_warnings select (select a+1) from t1; drop table t1; -- cgit v1.2.1