summaryrefslogtreecommitdiff
path: root/mysql-test/suite/compat/oracle/t/parser.test
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mariadb.com>2018-05-17 16:01:20 +0400
committerAlexander Barkov <bar@mariadb.com>2018-05-17 16:01:20 +0400
commit10d44db5d49a138ed25b227912ac938100d666fa (patch)
treeecc52f8ce26eaae7f2440fd97a9f138d10253a48 /mysql-test/suite/compat/oracle/t/parser.test
parent21b12e33594f9f943d1c3678005f034858af2b03 (diff)
downloadmariadb-git-10d44db5d49a138ed25b227912ac938100d666fa.tar.gz
MDEV-16202 Latest changes made erroneously some keywords reserved in sql_mode=ORACLE
Diffstat (limited to 'mysql-test/suite/compat/oracle/t/parser.test')
-rw-r--r--mysql-test/suite/compat/oracle/t/parser.test65
1 files changed, 65 insertions, 0 deletions
diff --git a/mysql-test/suite/compat/oracle/t/parser.test b/mysql-test/suite/compat/oracle/t/parser.test
index 5aa37c1cd33..c0048e26fa8 100644
--- a/mysql-test/suite/compat/oracle/t/parser.test
+++ b/mysql-test/suite/compat/oracle/t/parser.test
@@ -22,3 +22,68 @@ BEGIN
END;
$$
DELIMITER ;$$
+
+
+--echo #
+--echo # MDEV-16202 Latest changes made erroneously some keywords reserved in sql_mode=ORACLE
+--echo #
+
+
+DELIMITER $$;
+CREATE PROCEDURE p1(name VARCHAR(64), pattern TEXT) AS
+ query TEXT DEFAULT REPLACE(pattern, 'name', name);
+BEGIN
+ SELECT query AS '';
+ EXECUTE IMMEDIATE query;
+EXCEPTION
+ WHEN OTHERS THEN
+ BEGIN
+ SHOW ERRORS;
+ END;
+END;
+$$
+
+CREATE PROCEDURE p2(name VARCHAR(64)) AS
+BEGIN
+ CALL p1(name, 'DECLARE name INT; BEGIN name:=10; SELECT name; END');
+ EXECUTE IMMEDIATE REPLACE('CREATE TABLE t1 (name INT)', 'name', name);
+ CALL p1(name, 'SELECT name FROM t1');
+ CALL p1(name, 'SELECT name ''alias'' FROM t1');
+ CALL p1(name, 'SELECT name()');
+ CALL p1(name, 'SELECT name.name()');
+ CALL p1(name, 'SELECT name DATE FROM t1');
+ CALL p1(name, 'SELECT name HISTORY FROM t1');
+ CALL p1(name, 'SELECT name NEXT FROM t1');
+ CALL p1(name, 'SELECT name PERIOD FROM t1');
+ CALL p1(name, 'SELECT name PREVIOUS FROM t1');
+ CALL p1(name, 'SELECT name SYSTEM FROM t1');
+ CALL p1(name, 'SELECT name SYSTEM_TIME FROM t1');
+ CALL p1(name, 'SELECT name TIME FROM t1');
+ CALL p1(name, 'SELECT name TIMESTAMP FROM t1');
+ CALL p1(name, 'SELECT name TRANSACTION FROM t1');
+ CALL p1(name, 'SELECT name VALUE FROM t1');
+ CALL p1(name, 'SELECT name VERSIONING FROM t1');
+ CALL p1(name, 'SELECT name WITHOUT FROM t1');
+ DROP TABLE t1;
+END;
+$$
+DELIMITER ;$$
+
+--disable_column_names
+CALL p2('date');
+CALL p2('history');
+CALL p2('next');
+CALL p2('period');
+CALL p2('previous');
+CALL p2('system');
+CALL p2('system_time');
+CALL p2('time');
+CALL p2('timestamp');
+CALL p2('transaction');
+CALL p2('value');
+CALL p2('versioning');
+CALL p2('without');
+--enable_column_names
+
+DROP PROCEDURE p2;
+DROP PROCEDURE p1;