From 3f619478f796eddbba6e39502fe941b285dd97b1 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 4 May 2024 20:00:34 +0200 Subject: Adding upstream version 1:10.11.6. Signed-off-by: Daniel Baumann --- mysql-test/suite/compat/mssql/parser.result | 87 +++++++++++++++++++++++++++++ mysql-test/suite/compat/mssql/parser.test | 68 ++++++++++++++++++++++ 2 files changed, 155 insertions(+) create mode 100644 mysql-test/suite/compat/mssql/parser.result create mode 100644 mysql-test/suite/compat/mssql/parser.test (limited to 'mysql-test/suite/compat/mssql') diff --git a/mysql-test/suite/compat/mssql/parser.result b/mysql-test/suite/compat/mssql/parser.result new file mode 100644 index 00000000..817439a8 --- /dev/null +++ b/mysql-test/suite/compat/mssql/parser.result @@ -0,0 +1,87 @@ +SET sql_mode=MSSQL; +# +# Start of 10.4 tests +# +# +# MDEV-19142 sql_mode=MSSQL: Bracket identifiers +# +SELECT 'test' AS [[]; +[ +test +SELECT 'test' AS []]]; +] +test +SELECT 'test' AS [[a]]]; +[a] +test +SELECT 'test' AS [\n]; +\n +test +CREATE TABLE [t 1] ([a b] INT); +SHOW CREATE TABLE [t 1]; +Table Create Table +t 1 CREATE TABLE "t 1" ( + "a b" int(11) DEFAULT NULL +) +INSERT INTO [t 1] VALUES (10); +SELECT [a b] FROM [t 1]; +a b +10 +SELECT [a b] [a b alias] FROM [t 1] [t 1 alias]; +a b alias +10 +SELECT [a b] FROM [test].[t 1]; +a b +10 +SELECT [a b], COUNT(*) FROM [t 1] GROUP BY [a b]; +a b COUNT(*) +10 1 +SELECT [a b], COUNT(*) FROM [t 1] GROUP BY [a b] HAVING [a b]>0; +a b COUNT(*) +10 1 +DROP TABLE [t 1]; +CREATE TABLE [t[1]]] (a INT); +SHOW CREATE TABLE [t[1]]]; +Table Create Table +t[1] CREATE TABLE "t[1]" ( + "a" int(11) DEFAULT NULL +) +DROP TABLE [t[1]]]; +CREATE TABLE [t 1] ([a b] INT); +CREATE VIEW [v 1] AS SELECT [a b] FROM [t 1]; +SHOW CREATE VIEW [v 1]; +View Create View character_set_client collation_connection +v 1 CREATE VIEW "v 1" AS select "t 1"."a b" AS "a b" from "t 1" latin1 latin1_swedish_ci +SELECT * FROM [v 1]; +a b +DROP VIEW [v 1]; +DROP TABLE [t 1]; +CREATE PROCEDURE [p 1]() +BEGIN +SELECT 'test' [a b]; +END; +$$ +SHOW CREATE PROCEDURE [p 1]; +Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation +p 1 PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,MSSQL,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS CREATE DEFINER="root"@"localhost" PROCEDURE "p 1"() +BEGIN +SELECT 'test' [a b]; +END latin1 latin1_swedish_ci latin1_swedish_ci +CALL [p 1]; +a b +test +DROP PROCEDURE [p 1]; +CREATE TABLE [t1] ([a] INT); +INSERT INTO t1 VALUES (10); +PREPARE [stmt] FROM 'SELECT [a] FROM [test].[t1]'; +EXECUTE [stmt]; +a +10 +DEALLOCATE PREPARE [stmt]; +EXECUTE IMMEDIATE 'SELECT [a] FROM [test].[t1]'; +a +10 +DROP TABLE [t1]; +# +# End of 10.4 tests +# diff --git a/mysql-test/suite/compat/mssql/parser.test b/mysql-test/suite/compat/mssql/parser.test new file mode 100644 index 00000000..59c6735c --- /dev/null +++ b/mysql-test/suite/compat/mssql/parser.test @@ -0,0 +1,68 @@ +SET sql_mode=MSSQL; + +--echo # +--echo # Start of 10.4 tests +--echo # + +--echo # +--echo # MDEV-19142 sql_mode=MSSQL: Bracket identifiers +--echo # + +# Brackets inside bracket identifiers: +# - When we want a left bracket inside a bracket identifier, +# we just add a single left bracket: [ +# - When we want a right bracket inside a bracket identifier, +# we add two right brackets: ]] + + +SELECT 'test' AS [[]; +SELECT 'test' AS []]]; +SELECT 'test' AS [[a]]]; + +# Backslash has no special meaning +SELECT 'test' AS [\n]; + + +CREATE TABLE [t 1] ([a b] INT); +SHOW CREATE TABLE [t 1]; +INSERT INTO [t 1] VALUES (10); +SELECT [a b] FROM [t 1]; +SELECT [a b] [a b alias] FROM [t 1] [t 1 alias]; +SELECT [a b] FROM [test].[t 1]; +SELECT [a b], COUNT(*) FROM [t 1] GROUP BY [a b]; +SELECT [a b], COUNT(*) FROM [t 1] GROUP BY [a b] HAVING [a b]>0; +DROP TABLE [t 1]; + +CREATE TABLE [t[1]]] (a INT); +SHOW CREATE TABLE [t[1]]]; +DROP TABLE [t[1]]]; + +CREATE TABLE [t 1] ([a b] INT); +CREATE VIEW [v 1] AS SELECT [a b] FROM [t 1]; +SHOW CREATE VIEW [v 1]; +SELECT * FROM [v 1]; +DROP VIEW [v 1]; +DROP TABLE [t 1]; + +DELIMITER $$; +CREATE PROCEDURE [p 1]() +BEGIN + SELECT 'test' [a b]; +END; +$$ +DELIMITER ;$$ +SHOW CREATE PROCEDURE [p 1]; +CALL [p 1]; +DROP PROCEDURE [p 1]; + +CREATE TABLE [t1] ([a] INT); +INSERT INTO t1 VALUES (10); +PREPARE [stmt] FROM 'SELECT [a] FROM [test].[t1]'; +EXECUTE [stmt]; +DEALLOCATE PREPARE [stmt]; +EXECUTE IMMEDIATE 'SELECT [a] FROM [test].[t1]'; +DROP TABLE [t1]; + +--echo # +--echo # End of 10.4 tests +--echo # -- cgit v1.2.3