~linuxjedi/drizzle/trunk-bug-667053

« back to all changes in this revision

Viewing changes to mysql-test/t/mysql_comments.sql

  • Committer: brian
  • Date: 2008-06-25 05:29:13 UTC
  • Revision ID: brian@localhost.localdomain-20080625052913-6upwo0jsrl4lnapl
clean slate

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
##============================================================================
 
2
## Notes
 
3
##============================================================================
 
4
 
 
5
# Test case for Bug#11230
 
6
 
 
7
# The point of this test is to make sure that '#', '-- ' and '/* ... */'
 
8
# comments, as well as empty lines, are sent from the client to the server.
 
9
# This is to ensure better error reporting, and to keep comments in the code
 
10
# for stored procedures / functions / triggers (Bug#11230).
 
11
# As a result, be careful when editing comments in this script, they do
 
12
# matter.
 
13
#
 
14
# Also, note that this is a script for **mysql**, not mysqltest.
 
15
# This is critical, as the mysqltest client interprets comments differently.
 
16
 
 
17
##============================================================================
 
18
## Setup
 
19
##============================================================================
 
20
 
 
21
## See mysql_comments.test for initial cleanup
 
22
 
 
23
# Test tables
 
24
#
 
25
# t1 is reused throughout the file, and dropped at the end.
 
26
#
 
27
drop table if exists t1;
 
28
create table t1 (
 
29
  id   char(16) not null default '',
 
30
  data int not null
 
31
);
 
32
 
 
33
##============================================================================
 
34
## Comments outside statements
 
35
##============================================================================
 
36
 
 
37
# Ignored 1a
 
38
-- Ignored 1b
 
39
/*
 
40
   Ignored 1c
 
41
*/
 
42
 
 
43
select 1;
 
44
 
 
45
##============================================================================
 
46
## Comments inside statements
 
47
##============================================================================
 
48
 
 
49
select # comment 1a
 
50
# comment 2a
 
51
-- comment 2b
 
52
/*
 
53
   comment 2c
 
54
*/
 
55
2
 
56
; # not strictly inside, but on same line
 
57
# ignored
 
58
 
 
59
##============================================================================
 
60
## Comments inside functions
 
61
##============================================================================
 
62
 
 
63
drop function if exists foofct ;
 
64
 
 
65
create function foofct (x char(20))
 
66
returns char(20)
 
67
/* not inside the body yet */
 
68
return
 
69
-- comment 1a
 
70
# comment 1b
 
71
/* comment 1c */
 
72
x; # after body, on same line
 
73
 
 
74
select foofct("call 1");
 
75
 
 
76
show create function foofct;
 
77
drop function foofct;
 
78
 
 
79
delimiter |
 
80
 
 
81
create function foofct(x char(20))
 
82
returns char(20)
 
83
begin
 
84
  -- comment 1a
 
85
  # comment 1b
 
86
  /*
 
87
     comment 1c
 
88
  */
 
89
 
 
90
  -- empty line below
 
91
 
 
92
  -- empty line above
 
93
  return x;
 
94
end|
 
95
 
 
96
delimiter ;
 
97
 
 
98
select foofct("call 2");
 
99
 
 
100
show create function foofct;
 
101
drop function foofct;
 
102
 
 
103
##============================================================================
 
104
## Comments inside stored procedures
 
105
##============================================================================
 
106
 
 
107
# Empty statement
 
108
drop procedure if exists empty;
 
109
create procedure empty()
 
110
begin
 
111
end;
 
112
 
 
113
call empty();
 
114
show create procedure empty;
 
115
drop procedure empty;
 
116
 
 
117
drop procedure if exists foosp;
 
118
 
 
119
## These comments are before the create, and will be lost
 
120
# Comment 1a
 
121
-- Comment 1b
 
122
/*
 
123
   Comment 1c
 
124
 */
 
125
create procedure foosp()
 
126
/* Comment not quiet in the body yet */
 
127
  insert into test.t1
 
128
## These comments are part of the procedure body, and should be kept.
 
129
# Comment 2a
 
130
-- Comment 2b
 
131
/* Comment 2c */
 
132
  -- empty line below
 
133
 
 
134
  -- empty line above
 
135
  values ("foo", 42); # comment 3, still part of the body
 
136
## After the ';', therefore not part of the body
 
137
# comment 4a
 
138
-- Comment 4b
 
139
/*
 
140
   Comment 4c
 
141
 */
 
142
 
 
143
call foosp();
 
144
select * from t1;
 
145
delete from t1;
 
146
show create procedure foosp;
 
147
drop procedure foosp;
 
148
 
 
149
drop procedure if exists nicesp;
 
150
 
 
151
delimiter |
 
152
 
 
153
create procedure nicesp(a int)
 
154
begin
 
155
  -- declare some variables here
 
156
  declare b int;
 
157
  declare c float;
 
158
 
 
159
  -- do more stuff here
 
160
  -- commented nicely and so on
 
161
 
 
162
  -- famous last words ...
 
163
end|
 
164
 
 
165
delimiter ;
 
166
 
 
167
show create procedure nicesp;
 
168
drop procedure nicesp;
 
169
 
 
170
##============================================================================
 
171
## Comments inside triggers
 
172
##============================================================================
 
173
 
 
174
drop trigger if exists t1_empty;
 
175
 
 
176
create trigger t1_empty after delete on t1
 
177
for each row
 
178
begin
 
179
end;
 
180
 
 
181
show create trigger t1_empty;
 
182
 
 
183
drop trigger if exists t1_bi;
 
184
 
 
185
delimiter |
 
186
 
 
187
create trigger t1_bi before insert on t1
 
188
for each row
 
189
begin
 
190
# comment 1a
 
191
-- comment 1b
 
192
/*
 
193
   comment 1c
 
194
*/
 
195
  -- declare some variables here
 
196
  declare b int;
 
197
  declare c float;
 
198
 
 
199
  -- do more stuff here
 
200
  -- commented nicely and so on
 
201
 
 
202
  -- famous last words ...
 
203
  set NEW.data := 12;
 
204
end|
 
205
 
 
206
delimiter ;
 
207
 
 
208
show create trigger t1_bi;
 
209
 
 
210
# also make sure the trigger still works
 
211
insert into t1(id) value ("trig");
 
212
select * from t1;
 
213
 
 
214
##============================================================================
 
215
## Cleanup
 
216
##============================================================================
 
217
 
 
218
drop table t1;