mirror of
https://github.com/MariaDB/server.git
synced 2025-07-21 21:22:27 +03:00
90 lines
2.2 KiB
Plaintext
90 lines
2.2 KiB
Plaintext
SET sql_mode=ORACLE;
|
|
|
|
--echo #
|
|
--echo # MDEV-15620 Crash when using "SET @@NEW.a=expr" inside a trigger
|
|
--echo #
|
|
|
|
CREATE TABLE t1 (a INT);
|
|
--error ER_UNKNOWN_STRUCTURED_VARIABLE
|
|
CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW SET @@NEW.a=0;
|
|
DROP TABLE t1;
|
|
|
|
--echo #
|
|
--echo # MDEV-15615 Unexpected syntax error instead of "Unknown system variable" inside an SP
|
|
--echo #
|
|
|
|
DELIMITER $$;
|
|
--error ER_UNKNOWN_SYSTEM_VARIABLE
|
|
DECLARE
|
|
a INT;
|
|
BEGIN
|
|
SET GLOBAL a=10;
|
|
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;
|