diff options
author | Alexander Barkov <bar@mariadb.com> | 2019-09-20 10:36:20 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.com> | 2019-09-20 10:36:20 +0400 |
commit | 2f88bd2da26abd30b027308aedc30989c039d518 (patch) | |
tree | 46154ab8b7b906727cf9c0832aa05b5017eb02fd /mysql-test/suite/compat | |
parent | b9dea911bf8e3d4d8fc57ce3ef15ab0e2ab4d076 (diff) | |
download | mariadb-git-2f88bd2da26abd30b027308aedc30989c039d518.tar.gz |
MDEV-20634 Report disallowed subquery errors as such (instead of parse error)
Diffstat (limited to 'mysql-test/suite/compat')
-rw-r--r-- | mysql-test/suite/compat/oracle/r/ps.result | 8 | ||||
-rw-r--r-- | mysql-test/suite/compat/oracle/r/statement-expr.result | 16 | ||||
-rw-r--r-- | mysql-test/suite/compat/oracle/t/ps.test | 8 | ||||
-rw-r--r-- | mysql-test/suite/compat/oracle/t/statement-expr.test | 16 |
4 files changed, 24 insertions, 24 deletions
diff --git a/mysql-test/suite/compat/oracle/r/ps.result b/mysql-test/suite/compat/oracle/r/ps.result index 73aa04b972c..818c97b06ab 100644 --- a/mysql-test/suite/compat/oracle/r/ps.result +++ b/mysql-test/suite/compat/oracle/r/ps.result @@ -47,7 +47,7 @@ EXECUTE stmt USING @a, @b; # PREPARE stmt FROM 'SELECT :1 FROM DUAL'; EXECUTE stmt USING (SELECT 1); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'SELECT 1)' at line 1 +ERROR 42000: EXECUTE..USING does not support subqueries or stored functions DEALLOCATE PREPARE stmt; CREATE FUNCTION f1() RETURN VARCHAR AS @@ -155,7 +155,7 @@ DROP TABLE t1; # Testing disallowed expressions in USING # EXECUTE IMMEDIATE 'SELECT :1 FROM DUAL' USING (SELECT 1); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'SELECT 1)' at line 1 +ERROR 42000: EXECUTE..USING does not support subqueries or stored functions CREATE FUNCTION f1() RETURN VARCHAR AS BEGIN @@ -182,9 +182,9 @@ ERROR HY000: Illegal mix of collations (latin1_swedish_ci,COERCIBLE) and (latin2 PREPARE stmt FROM _latin1'SELECT 1 AS c FROM ' || _latin2 'DUAL'; ERROR HY000: Illegal mix of collations (latin1_swedish_ci,COERCIBLE) and (latin2_general_ci,COERCIBLE) for operation 'concat_operator_oracle' EXECUTE IMMEDIATE (SELECT 'SELECT 1'); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'SELECT 'SELECT 1')' at line 1 +ERROR 42000: EXECUTE IMMEDIATE does not support subqueries or stored functions PREPARE stmt FROM (SELECT 'SELECT 1'); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'SELECT 'SELECT 1')' at line 1 +ERROR 42000: PREPARE..FROM does not support subqueries or stored functions EXECUTE IMMEDIATE a; ERROR 42S22: Unknown column 'a' in 'field list' PREPARE stmt FROM a; diff --git a/mysql-test/suite/compat/oracle/r/statement-expr.result b/mysql-test/suite/compat/oracle/r/statement-expr.result index ea3bd5232d3..ab4dce9ad74 100644 --- a/mysql-test/suite/compat/oracle/r/statement-expr.result +++ b/mysql-test/suite/compat/oracle/r/statement-expr.result @@ -13,9 +13,9 @@ ROW(1, 7) IN (SELECT id, id1 FROM t1 WHERE id1= 8) 0 DROP TABLE t1; EXECUTE IMMEDIATE 'SELECT ?' USING (1 IN (SELECT * FROM t1)); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'SELECT * FROM t1))' at line 1 +ERROR 42000: EXECUTE..USING does not support subqueries or stored functions EXECUTE IMMEDIATE 'SELECT ?' USING (SELECT * FROM t1); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'SELECT * FROM t1)' at line 1 +ERROR 42000: EXECUTE..USING does not support subqueries or stored functions CREATE TABLE t1 (id INT); INSERT INTO t1 VALUES (10); CREATE PROCEDURE p1(a INT) AS BEGIN NULL; END; @@ -47,21 +47,21 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp SIGNAL SQLSTATE '01000'; END' at line 3 PREPARE stmt FROM (1 IN (SELECT * FROM t1)); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'SELECT * FROM t1))' at line 1 +ERROR 42000: PREPARE..FROM does not support subqueries or stored functions PREPARE stmt FROM EXISTS (SELECT * FROM t1); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '(SELECT * FROM t1)' at line 1 +ERROR 42000: PREPARE..FROM does not support subqueries or stored functions EXECUTE IMMEDIATE (1 IN (SELECT * FROM t1)); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'SELECT * FROM t1))' at line 1 +ERROR 42000: EXECUTE IMMEDIATE does not support subqueries or stored functions EXECUTE IMMEDIATE EXISTS (SELECT * FROM t1); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '(SELECT * FROM t1)' at line 1 +ERROR 42000: EXECUTE IMMEDIATE does not support subqueries or stored functions GET DIAGNOSTICS CONDITION (1 IN (SELECT * FROM t1)) @errno=MYSQL_ERRNO; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '(1 IN (SELECT * FROM t1)) @errno=MYSQL_ERRNO' at line 1 GET DIAGNOSTICS CONDITION EXISTS (SELECT * FROM t1) @errno=MYSQL_ERRNO; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'EXISTS (SELECT * FROM t1) @errno=MYSQL_ERRNO' at line 1 PURGE BINARY LOGS BEFORE (1 IN (SELECT * FROM t1)); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'SELECT * FROM t1))' at line 1 +ERROR 42000: PURGE..BEFORE does not support subqueries or stored functions PURGE BINARY LOGS BEFORE EXISTS (SELECT * FROM t1); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '(SELECT * FROM t1)' at line 1 +ERROR 42000: PURGE..BEFORE does not support subqueries or stored functions CREATE TABLE t1 (a INT); INSERT INTO t1 VALUES (1),(2),(3); DO 1 IN (SELECT * FROM t1); diff --git a/mysql-test/suite/compat/oracle/t/ps.test b/mysql-test/suite/compat/oracle/t/ps.test index 357b50e0eab..39770b48ded 100644 --- a/mysql-test/suite/compat/oracle/t/ps.test +++ b/mysql-test/suite/compat/oracle/t/ps.test @@ -33,7 +33,7 @@ EXECUTE stmt USING @a, @b; --echo # PREPARE stmt FROM 'SELECT :1 FROM DUAL'; ---error ER_PARSE_ERROR +--error ER_SUBQUERIES_NOT_SUPPORTED EXECUTE stmt USING (SELECT 1); DEALLOCATE PREPARE stmt; @@ -153,7 +153,7 @@ DROP TABLE t1; --echo # Testing disallowed expressions in USING --echo # ---error ER_PARSE_ERROR +--error ER_SUBQUERIES_NOT_SUPPORTED EXECUTE IMMEDIATE 'SELECT :1 FROM DUAL' USING (SELECT 1); DELIMITER $$; @@ -189,9 +189,9 @@ EXECUTE IMMEDIATE _latin1'SELECT 1 AS c FROM ' || _latin2 'DUAL'; --error ER_CANT_AGGREGATE_2COLLATIONS PREPARE stmt FROM _latin1'SELECT 1 AS c FROM ' || _latin2 'DUAL'; ---error ER_PARSE_ERROR +--error ER_SUBQUERIES_NOT_SUPPORTED EXECUTE IMMEDIATE (SELECT 'SELECT 1'); ---error ER_PARSE_ERROR +--error ER_SUBQUERIES_NOT_SUPPORTED PREPARE stmt FROM (SELECT 'SELECT 1'); --error ER_BAD_FIELD_ERROR diff --git a/mysql-test/suite/compat/oracle/t/statement-expr.test b/mysql-test/suite/compat/oracle/t/statement-expr.test index f4a6a25eff3..1caab623524 100644 --- a/mysql-test/suite/compat/oracle/t/statement-expr.test +++ b/mysql-test/suite/compat/oracle/t/statement-expr.test @@ -17,9 +17,9 @@ SELECT ROW(1,7) IN (SELECT id, id1 FROM t1 WHERE id1= 8); EXECUTE IMMEDIATE 'SELECT ROW(1, 7) IN (SELECT id, id1 FROM t1 WHERE id1= 8)'; DROP TABLE t1; ---error ER_PARSE_ERROR +--error ER_SUBQUERIES_NOT_SUPPORTED EXECUTE IMMEDIATE 'SELECT ?' USING (1 IN (SELECT * FROM t1)); ---error ER_PARSE_ERROR +--error ER_SUBQUERIES_NOT_SUPPORTED EXECUTE IMMEDIATE 'SELECT ?' USING (SELECT * FROM t1); @@ -57,14 +57,14 @@ $$ DELIMITER ;$$ ---error ER_PARSE_ERROR +--error ER_SUBQUERIES_NOT_SUPPORTED PREPARE stmt FROM (1 IN (SELECT * FROM t1)); ---error ER_PARSE_ERROR +--error ER_SUBQUERIES_NOT_SUPPORTED PREPARE stmt FROM EXISTS (SELECT * FROM t1); ---error ER_PARSE_ERROR +--error ER_SUBQUERIES_NOT_SUPPORTED EXECUTE IMMEDIATE (1 IN (SELECT * FROM t1)); ---error ER_PARSE_ERROR +--error ER_SUBQUERIES_NOT_SUPPORTED EXECUTE IMMEDIATE EXISTS (SELECT * FROM t1); --error ER_PARSE_ERROR @@ -72,9 +72,9 @@ GET DIAGNOSTICS CONDITION (1 IN (SELECT * FROM t1)) @errno=MYSQL_ERRNO; --error ER_PARSE_ERROR GET DIAGNOSTICS CONDITION EXISTS (SELECT * FROM t1) @errno=MYSQL_ERRNO; ---error ER_PARSE_ERROR +--error ER_SUBQUERIES_NOT_SUPPORTED PURGE BINARY LOGS BEFORE (1 IN (SELECT * FROM t1)); ---error ER_PARSE_ERROR +--error ER_SUBQUERIES_NOT_SUPPORTED PURGE BINARY LOGS BEFORE EXISTS (SELECT * FROM t1); CREATE TABLE t1 (a INT); |