mariadb/mysql-test/main/mysql_comments.result
Oleg Smirnov 19e832dc85 MDEV-35504 Fix opt_hint_timeout.test for embedded; fix mariadb client
1. Disable opt_hint_timeout.test for embedded server. Make sure
the test does not crash even when started for embedded server.
Disable view-protocol since hints are not supported inside views.

2. Hints are designed to behave like regular /* ... */ comments:
   `SELECT /*+ " */ 1;` -- a valid SQL query
However, the mysql client program waits for the closing doublequote
character.
Another problem is observed when there is no space character between
closing `*/` of the hint and the following `*`:
   `SELECT /*+ some_hints(...) */* FROM t1;`
In this case the client treats `/*` as a comment section opening and
waits for the closing `*/` sequence.

This commit fixes all of these issues
2025-03-18 18:28:19 +01:00

80 lines
5.1 KiB
Text

set global sql_mode="";
drop table if exists t1;
drop function if exists foofct;
drop procedure if exists empty;
drop procedure if exists foosp;
drop procedure if exists nicesp;
drop trigger if exists t1_empty;
drop trigger if exists t1_bi;
"Pass 1 : --disable-comments"
1
1
2
2
foofct("call 1")
call 1
Function sql_mode Create Function character_set_client collation_connection Database Collation
foofct CREATE DEFINER=`root`@`localhost` FUNCTION `foofct`(x char(20)) RETURNS char(20) CHARSET utf8mb4 COLLATE utf8mb4_uca1400_ai_ci\nreturn\n\n\n\nx latin1 latin1_swedish_ci utf8mb4_uca1400_ai_ci
foofct("call 2")
call 2
Function sql_mode Create Function character_set_client collation_connection Database Collation
foofct CREATE DEFINER=`root`@`localhost` FUNCTION `foofct`(x char(20)) RETURNS char(20) CHARSET utf8mb4 COLLATE utf8mb4_uca1400_ai_ci\nbegin\n \n \n \n\n \n\n \n return x;\nend latin1 latin1_swedish_ci utf8mb4_uca1400_ai_ci
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
empty CREATE DEFINER=`root`@`localhost` PROCEDURE `empty`()\nbegin\nend latin1 latin1_swedish_ci utf8mb4_uca1400_ai_ci
id data
foo 42
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
foosp CREATE DEFINER=`root`@`localhost` PROCEDURE `foosp`()\ninsert into test.t1\n\n\n\n\n \n\n \n values ("foo", 42) latin1 latin1_swedish_ci utf8mb4_uca1400_ai_ci
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
nicesp CREATE DEFINER=`root`@`localhost` PROCEDURE `nicesp`(a int)\nbegin\n \n declare b int;\n declare c float;\n\n \n \n\n \nend latin1 latin1_swedish_ci utf8mb4_uca1400_ai_ci
Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
t1_empty CREATE DEFINER=`root`@`localhost` trigger t1_empty after delete on t1\nfor each row\nbegin\nend latin1 latin1_swedish_ci utf8mb4_uca1400_ai_ci --TIME--
Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
t1_bi CREATE DEFINER=`root`@`localhost` trigger t1_bi before insert on t1\nfor each row\nbegin\n\n\n\n \n declare b int;\n declare c float;\n\n \n \n\n \n set NEW.data := 12;\nend latin1 latin1_swedish_ci utf8mb4_uca1400_ai_ci --TIME--
id data
trig 12
id data
trig 12
id data
trig 12
id data
trig 12
id data
trig 12
"Pass 2 : --enable-comments"
1
1
2
2
foofct("call 1")
call 1
Function sql_mode Create Function character_set_client collation_connection Database Collation
foofct CREATE DEFINER=`root`@`localhost` FUNCTION `foofct`(x char(20)) RETURNS char(20) CHARSET utf8mb4 COLLATE utf8mb4_uca1400_ai_ci\nreturn\n-- comment 1a\n# comment 1b\n/* comment 1c */\nx # after body, on same line latin1 latin1_swedish_ci utf8mb4_uca1400_ai_ci
foofct("call 2")
call 2
Function sql_mode Create Function character_set_client collation_connection Database Collation
foofct CREATE DEFINER=`root`@`localhost` FUNCTION `foofct`(x char(20)) RETURNS char(20) CHARSET utf8mb4 COLLATE utf8mb4_uca1400_ai_ci\nbegin\n -- comment 1a\n # comment 1b\n /*\n comment 1c\n */\n\n -- empty line below\n\n -- empty line above\n return x;\nend latin1 latin1_swedish_ci utf8mb4_uca1400_ai_ci
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
empty CREATE DEFINER=`root`@`localhost` PROCEDURE `empty`()\nbegin\nend latin1 latin1_swedish_ci utf8mb4_uca1400_ai_ci
id data
foo 42
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
foosp CREATE DEFINER=`root`@`localhost` PROCEDURE `foosp`()\ninsert into test.t1\n## These comments are part of the procedure body, and should be kept.\n# Comment 2a\n-- Comment 2b\n/* Comment 2c */\n -- empty line below\n\n -- empty line above\n values ("foo", 42) # comment 3, still part of the body latin1 latin1_swedish_ci utf8mb4_uca1400_ai_ci
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
nicesp CREATE DEFINER=`root`@`localhost` PROCEDURE `nicesp`(a int)\nbegin\n -- declare some variables here\n declare b int;\n declare c float;\n\n -- do more stuff here\n -- commented nicely and so on\n\n -- famous last words ...\nend latin1 latin1_swedish_ci utf8mb4_uca1400_ai_ci
Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
t1_empty CREATE DEFINER=`root`@`localhost` trigger t1_empty after delete on t1\nfor each row\nbegin\nend latin1 latin1_swedish_ci utf8mb4_uca1400_ai_ci --TIME--
Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
t1_bi CREATE DEFINER=`root`@`localhost` trigger t1_bi before insert on t1\nfor each row\nbegin\n# comment 1a\n-- comment 1b\n/*\n comment 1c\n*/\n -- declare some variables here\n declare b int;\n declare c float;\n\n -- do more stuff here\n -- commented nicely and so on\n\n -- famous last words ...\n set NEW.data := 12;\nend latin1 latin1_swedish_ci utf8mb4_uca1400_ai_ci --TIME--
id data
trig 12
id data
trig 12
id data
trig 12
id data
trig 12
id data
trig 12
set global sql_mode=default;
End of 5.0 tests