1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

MDEV-17693 Shift/reduce conflicts for NAMES,ROLE,PASSWORD in the option_value_no_option_type grammar

This commit is contained in:
Alexander Barkov
2018-11-13 09:54:21 +04:00
parent e1dc05a696
commit c29c39a7dc
6 changed files with 359 additions and 12 deletions

View File

@@ -1700,4 +1700,69 @@ SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT
(SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT
(SELECT
1
#
# MDEV-17693 Shift/reduce conflicts for NAMES,ROLE,PASSWORD in the option_value_no_option_type grammar
#
CREATE TABLE names (names INT);
SELECT names FROM names AS names;
names
DROP TABLE names;
CREATE TABLE password (password INT);
SELECT password FROM password AS password;
password
DROP TABLE password;
CREATE TABLE role (role INT);
SELECT role FROM role AS role;
role
DROP TABLE role;
BEGIN NOT ATOMIC
DECLARE names VARCHAR(32) DEFAULT '[names]';
DECLARE password VARCHAR(32) DEFAULT '[password]';
DECLARE role VARCHAR(32) DEFAULT '[role]';
names:
LOOP
SELECT names;
LEAVE names;
END LOOP;
password:
LOOP
SELECT password;
LEAVE password;
END LOOP;
role:
LOOP
SELECT role;
LEAVE role;
END LOOP;
END;
$$
names
[names]
password
[password]
role
[role]
BEGIN NOT ATOMIC
DECLARE names VARCHAR(32);
SET names='[names]';
END;
$$
ERROR 42000: Variable 'names' must be quoted with `...`, or renamed
BEGIN NOT ATOMIC
DECLARE password VARCHAR(32);
SET password='[password]';
END;
$$
ERROR 42000: Variable 'password' must be quoted with `...`, or renamed
BEGIN NOT ATOMIC
DECLARE role VARCHAR(32);
SET role='[role]';
END;
$$
SELECT @@GLOBAL.names;
ERROR HY000: Unknown system variable 'names'
SELECT @@GLOBAL.password;
ERROR HY000: Unknown system variable 'password'
SELECT @@GLOBAL.role;
ERROR HY000: Unknown system variable 'role'
End of 10.3 tests