mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
Create 'main' test directory and move 't' and 'r' there
This commit is contained in:
218
mysql-test/main/mysql_comments.sql
Normal file
218
mysql-test/main/mysql_comments.sql
Normal file
@ -0,0 +1,218 @@
|
||||
##============================================================================
|
||||
## Notes
|
||||
##============================================================================
|
||||
|
||||
# Test case for Bug#11230
|
||||
|
||||
# The point of this test is to make sure that '#', '-- ' and '/* ... */'
|
||||
# comments, as well as empty lines, are sent from the client to the server.
|
||||
# This is to ensure better error reporting, and to keep comments in the code
|
||||
# for stored procedures / functions / triggers (Bug#11230).
|
||||
# As a result, be careful when editing comments in this script, they do
|
||||
# matter.
|
||||
#
|
||||
# Also, note that this is a script for **mysql**, not mysqltest.
|
||||
# This is critical, as the mysqltest client interprets comments differently.
|
||||
|
||||
##============================================================================
|
||||
## Setup
|
||||
##============================================================================
|
||||
|
||||
## See mysql_comments.test for initial cleanup
|
||||
|
||||
# Test tables
|
||||
#
|
||||
# t1 is reused throughout the file, and dropped at the end.
|
||||
#
|
||||
drop table if exists t1;
|
||||
create table t1 (
|
||||
id char(16) not null default '',
|
||||
data int not null
|
||||
);
|
||||
|
||||
##============================================================================
|
||||
## Comments outside statements
|
||||
##============================================================================
|
||||
|
||||
# Ignored 1a
|
||||
-- Ignored 1b
|
||||
/*
|
||||
Ignored 1c
|
||||
*/
|
||||
|
||||
select 1;
|
||||
|
||||
##============================================================================
|
||||
## Comments inside statements
|
||||
##============================================================================
|
||||
|
||||
select # comment 1a
|
||||
# comment 2a
|
||||
-- comment 2b
|
||||
/*
|
||||
comment 2c
|
||||
*/
|
||||
2
|
||||
; # not strictly inside, but on same line
|
||||
# ignored
|
||||
|
||||
##============================================================================
|
||||
## Comments inside functions
|
||||
##============================================================================
|
||||
|
||||
drop function if exists foofct ;
|
||||
|
||||
create function foofct (x char(20))
|
||||
returns char(20)
|
||||
/* not inside the body yet */
|
||||
return
|
||||
-- comment 1a
|
||||
# comment 1b
|
||||
/* comment 1c */
|
||||
x; # after body, on same line
|
||||
|
||||
select foofct("call 1");
|
||||
|
||||
show create function foofct;
|
||||
drop function foofct;
|
||||
|
||||
delimiter |
|
||||
|
||||
create function foofct(x char(20))
|
||||
returns char(20)
|
||||
begin
|
||||
-- comment 1a
|
||||
# comment 1b
|
||||
/*
|
||||
comment 1c
|
||||
*/
|
||||
|
||||
-- empty line below
|
||||
|
||||
-- empty line above
|
||||
return x;
|
||||
end|
|
||||
|
||||
delimiter ;
|
||||
|
||||
select foofct("call 2");
|
||||
|
||||
show create function foofct;
|
||||
drop function foofct;
|
||||
|
||||
##============================================================================
|
||||
## Comments inside stored procedures
|
||||
##============================================================================
|
||||
|
||||
# Empty statement
|
||||
drop procedure if exists empty;
|
||||
create procedure empty()
|
||||
begin
|
||||
end;
|
||||
|
||||
call empty();
|
||||
show create procedure empty;
|
||||
drop procedure empty;
|
||||
|
||||
drop procedure if exists foosp;
|
||||
|
||||
## These comments are before the create, and will be lost
|
||||
# Comment 1a
|
||||
-- Comment 1b
|
||||
/*
|
||||
Comment 1c
|
||||
*/
|
||||
create procedure foosp()
|
||||
/* Comment not quiet in the body yet */
|
||||
insert into test.t1
|
||||
## These comments are part of the procedure body, and should be kept.
|
||||
# Comment 2a
|
||||
-- Comment 2b
|
||||
/* Comment 2c */
|
||||
-- empty line below
|
||||
|
||||
-- empty line above
|
||||
values ("foo", 42); # comment 3, still part of the body
|
||||
## After the ';', therefore not part of the body
|
||||
# comment 4a
|
||||
-- Comment 4b
|
||||
/*
|
||||
Comment 4c
|
||||
*/
|
||||
|
||||
call foosp();
|
||||
select * from t1;
|
||||
delete from t1;
|
||||
show create procedure foosp;
|
||||
drop procedure foosp;
|
||||
|
||||
drop procedure if exists nicesp;
|
||||
|
||||
delimiter |
|
||||
|
||||
create procedure nicesp(a int)
|
||||
begin
|
||||
-- declare some variables here
|
||||
declare b int;
|
||||
declare c float;
|
||||
|
||||
-- do more stuff here
|
||||
-- commented nicely and so on
|
||||
|
||||
-- famous last words ...
|
||||
end|
|
||||
|
||||
delimiter ;
|
||||
|
||||
show create procedure nicesp;
|
||||
drop procedure nicesp;
|
||||
|
||||
##============================================================================
|
||||
## Comments inside triggers
|
||||
##============================================================================
|
||||
|
||||
drop trigger if exists t1_empty;
|
||||
|
||||
create trigger t1_empty after delete on t1
|
||||
for each row
|
||||
begin
|
||||
end;
|
||||
|
||||
show create trigger t1_empty;
|
||||
|
||||
drop trigger if exists t1_bi;
|
||||
|
||||
delimiter |
|
||||
|
||||
create trigger t1_bi before insert on t1
|
||||
for each row
|
||||
begin
|
||||
# comment 1a
|
||||
-- comment 1b
|
||||
/*
|
||||
comment 1c
|
||||
*/
|
||||
-- declare some variables here
|
||||
declare b int;
|
||||
declare c float;
|
||||
|
||||
-- do more stuff here
|
||||
-- commented nicely and so on
|
||||
|
||||
-- famous last words ...
|
||||
set NEW.data := 12;
|
||||
end|
|
||||
|
||||
delimiter ;
|
||||
|
||||
show create trigger t1_bi;
|
||||
|
||||
# also make sure the trigger still works
|
||||
insert into t1(id) value ("trig");
|
||||
select * from t1;
|
||||
|
||||
##============================================================================
|
||||
## Cleanup
|
||||
##============================================================================
|
||||
|
||||
drop table t1;
|
Reference in New Issue
Block a user