~ubuntu-branches/ubuntu/precise/mysql-5.1/precise

« back to all changes in this revision

Viewing changes to mysql-test/suite/funcs_1/r/innodb_storedproc_08.result

  • Committer: Bazaar Package Importer
  • Author(s): Norbert Tretkowski
  • Date: 2010-03-17 14:56:02 UTC
  • Revision ID: james.westby@ubuntu.com-20100317145602-x7e30l1b2sb5s6w6
Tags: upstream-5.1.45
ImportĀ upstreamĀ versionĀ 5.1.45

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
--source suite/funcs_1/storedproc/load_sp_tb.inc
 
3
--------------------------------------------------------------------------------
 
4
 
 
5
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
 
6
--------------------------------------------------------------------------------
 
7
DROP DATABASE IF EXISTS db_storedproc;
 
8
DROP DATABASE IF EXISTS db_storedproc_1;
 
9
CREATE DATABASE db_storedproc;
 
10
CREATE DATABASE db_storedproc_1;
 
11
USE db_storedproc;
 
12
create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
 
13
engine = <engine_to_be_tested>;
 
14
load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t1;
 
15
create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
 
16
engine = <engine_to_be_tested>;
 
17
load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t2;
 
18
create table t3(f1 char(20),f2 char(20),f3 integer) engine = <engine_to_be_tested>;
 
19
load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t3.txt' into table t3;
 
20
create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
 
21
engine = <engine_to_be_tested>;
 
22
load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t4;
 
23
USE db_storedproc_1;
 
24
create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
 
25
engine = <engine_to_be_tested>;
 
26
load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t6;
 
27
USE db_storedproc;
 
28
create table t7 (f1 char(20), f2 char(25), f3 date, f4 int)
 
29
engine = <engine_to_be_tested>;
 
30
load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t7.txt' into table t7;
 
31
Warnings:
 
32
Warning 1265    Data truncated for column 'f3' at row 1
 
33
Warning 1265    Data truncated for column 'f3' at row 2
 
34
Warning 1265    Data truncated for column 'f3' at row 3
 
35
Warning 1265    Data truncated for column 'f3' at row 4
 
36
Warning 1265    Data truncated for column 'f3' at row 5
 
37
Warning 1265    Data truncated for column 'f3' at row 6
 
38
Warning 1265    Data truncated for column 'f3' at row 7
 
39
Warning 1265    Data truncated for column 'f3' at row 8
 
40
Warning 1265    Data truncated for column 'f3' at row 9
 
41
Warning 1265    Data truncated for column 'f3' at row 10
 
42
create table t8 (f1 char(20), f2 char(25), f3 date, f4 int)
 
43
engine = <engine_to_be_tested>;
 
44
load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t7.txt' into table t8;
 
45
Warnings:
 
46
Warning 1265    Data truncated for column 'f3' at row 1
 
47
Warning 1265    Data truncated for column 'f3' at row 2
 
48
Warning 1265    Data truncated for column 'f3' at row 3
 
49
Warning 1265    Data truncated for column 'f3' at row 4
 
50
Warning 1265    Data truncated for column 'f3' at row 5
 
51
Warning 1265    Data truncated for column 'f3' at row 6
 
52
Warning 1265    Data truncated for column 'f3' at row 7
 
53
Warning 1265    Data truncated for column 'f3' at row 8
 
54
Warning 1265    Data truncated for column 'f3' at row 9
 
55
Warning 1265    Data truncated for column 'f3' at row 10
 
56
create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;
 
57
load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t9.txt' into table t9;
 
58
create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
 
59
engine = <engine_to_be_tested>;
 
60
load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t10;
 
61
create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
 
62
engine = <engine_to_be_tested>;
 
63
load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t11;
 
64
 
 
65
Section 3.1.8 - SHOW statement checks:
 
66
--------------------------------------------------------------------------------
 
67
 
 
68
Testcase 3.1.8.9:
 
69
-----------------
 
70
 
 
71
Ensure that all stored procedure changes made with ALTER PROCEDURE or ALTER
 
72
FUNCTION are properly recorded and displayed when a SHOW CREATE PROCEDURE or
 
73
SHOW CREATE PROCEDURE STATUS statement, or a SHOW CREATE FUNCTION or SHOW CREATE
 
74
FUNCTION STATUS statement (respectively) is executed.
 
75
--------------------------------------------------------------------------------
 
76
DROP FUNCTION IF EXISTS fn_1;
 
77
DROP FUNCTION IF EXISTS fn_2;
 
78
DROP PROCEDURE IF EXISTS sp_1;
 
79
DROP PROCEDURE IF EXISTS sp_2;
 
80
CREATE PROCEDURE sp_1 (i1 int)
 
81
BEGIN
 
82
set @x=i1;
 
83
END//
 
84
CREATE PROCEDURE sp_2 (i1 int) SQL SECURITY INVOKER COMMENT 'created with INVOKER'
 
85
BEGIN
 
86
set @x=i1;
 
87
END//
 
88
CREATE FUNCTION fn_1 (i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real) returns year
 
89
BEGIN
 
90
set @x=i1;
 
91
set @y=@x;
 
92
return i4;
 
93
END//
 
94
CREATE FUNCTION fn_2 (i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real)
 
95
RETURNS YEAR
 
96
SQL SECURITY INVOKER
 
97
COMMENT 'created with INVOKER'
 
98
BEGIN
 
99
set @x=i1;
 
100
set @y=@x;
 
101
return i4;
 
102
END//
 
103
 
 
104
... now check what is stored:
 
105
-----------------------------
 
106
SELECT * FROM information_schema.routines where routine_schema = 'db_storedproc';
 
107
SPECIFIC_NAME   fn_1
 
108
ROUTINE_CATALOG NULL
 
109
ROUTINE_SCHEMA  db_storedproc
 
110
ROUTINE_NAME    fn_1
 
111
ROUTINE_TYPE    FUNCTION
 
112
DTD_IDENTIFIER  year(4)
 
113
ROUTINE_BODY    SQL
 
114
ROUTINE_DEFINITION      BEGIN
 
115
set @x=i1;
 
116
set @y=@x;
 
117
return i4;
 
118
END
 
119
EXTERNAL_NAME   NULL
 
120
EXTERNAL_LANGUAGE       NULL
 
121
PARAMETER_STYLE SQL
 
122
IS_DETERMINISTIC        NO
 
123
SQL_DATA_ACCESS CONTAINS SQL
 
124
SQL_PATH        NULL
 
125
SECURITY_TYPE   DEFINER
 
126
CREATED <modified>
 
127
LAST_ALTERED    <created>
 
128
SQL_MODE        
 
129
ROUTINE_COMMENT 
 
130
DEFINER root@localhost
 
131
CHARACTER_SET_CLIENT    latin1
 
132
COLLATION_CONNECTION    latin1_swedish_ci
 
133
DATABASE_COLLATION      latin1_swedish_ci
 
134
SPECIFIC_NAME   fn_2
 
135
ROUTINE_CATALOG NULL
 
136
ROUTINE_SCHEMA  db_storedproc
 
137
ROUTINE_NAME    fn_2
 
138
ROUTINE_TYPE    FUNCTION
 
139
DTD_IDENTIFIER  year(4)
 
140
ROUTINE_BODY    SQL
 
141
ROUTINE_DEFINITION      BEGIN
 
142
set @x=i1;
 
143
set @y=@x;
 
144
return i4;
 
145
END
 
146
EXTERNAL_NAME   NULL
 
147
EXTERNAL_LANGUAGE       NULL
 
148
PARAMETER_STYLE SQL
 
149
IS_DETERMINISTIC        NO
 
150
SQL_DATA_ACCESS CONTAINS SQL
 
151
SQL_PATH        NULL
 
152
SECURITY_TYPE   INVOKER
 
153
CREATED <modified>
 
154
LAST_ALTERED    <created>
 
155
SQL_MODE        
 
156
ROUTINE_COMMENT created with INVOKER
 
157
DEFINER root@localhost
 
158
CHARACTER_SET_CLIENT    latin1
 
159
COLLATION_CONNECTION    latin1_swedish_ci
 
160
DATABASE_COLLATION      latin1_swedish_ci
 
161
SPECIFIC_NAME   sp_1
 
162
ROUTINE_CATALOG NULL
 
163
ROUTINE_SCHEMA  db_storedproc
 
164
ROUTINE_NAME    sp_1
 
165
ROUTINE_TYPE    PROCEDURE
 
166
DTD_IDENTIFIER  NULL
 
167
ROUTINE_BODY    SQL
 
168
ROUTINE_DEFINITION      BEGIN
 
169
set @x=i1;
 
170
END
 
171
EXTERNAL_NAME   NULL
 
172
EXTERNAL_LANGUAGE       NULL
 
173
PARAMETER_STYLE SQL
 
174
IS_DETERMINISTIC        NO
 
175
SQL_DATA_ACCESS CONTAINS SQL
 
176
SQL_PATH        NULL
 
177
SECURITY_TYPE   DEFINER
 
178
CREATED <modified>
 
179
LAST_ALTERED    <created>
 
180
SQL_MODE        
 
181
ROUTINE_COMMENT 
 
182
DEFINER root@localhost
 
183
CHARACTER_SET_CLIENT    latin1
 
184
COLLATION_CONNECTION    latin1_swedish_ci
 
185
DATABASE_COLLATION      latin1_swedish_ci
 
186
SPECIFIC_NAME   sp_2
 
187
ROUTINE_CATALOG NULL
 
188
ROUTINE_SCHEMA  db_storedproc
 
189
ROUTINE_NAME    sp_2
 
190
ROUTINE_TYPE    PROCEDURE
 
191
DTD_IDENTIFIER  NULL
 
192
ROUTINE_BODY    SQL
 
193
ROUTINE_DEFINITION      BEGIN
 
194
set @x=i1;
 
195
END
 
196
EXTERNAL_NAME   NULL
 
197
EXTERNAL_LANGUAGE       NULL
 
198
PARAMETER_STYLE SQL
 
199
IS_DETERMINISTIC        NO
 
200
SQL_DATA_ACCESS CONTAINS SQL
 
201
SQL_PATH        NULL
 
202
SECURITY_TYPE   INVOKER
 
203
CREATED <modified>
 
204
LAST_ALTERED    <created>
 
205
SQL_MODE        
 
206
ROUTINE_COMMENT created with INVOKER
 
207
DEFINER root@localhost
 
208
CHARACTER_SET_CLIENT    latin1
 
209
COLLATION_CONNECTION    latin1_swedish_ci
 
210
DATABASE_COLLATION      latin1_swedish_ci
 
211
SHOW CREATE FUNCTION  fn_1;
 
212
Function        fn_1
 
213
sql_mode        
 
214
Create Function CREATE DEFINER=`root`@`localhost` FUNCTION `fn_1`(i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real) RETURNS year(4)
 
215
BEGIN
 
216
set @x=i1;
 
217
set @y=@x;
 
218
return i4;
 
219
END
 
220
character_set_client    latin1
 
221
collation_connection    latin1_swedish_ci
 
222
Database Collation      latin1_swedish_ci
 
223
SHOW CREATE FUNCTION  fn_2;
 
224
Function        fn_2
 
225
sql_mode        
 
226
Create Function CREATE DEFINER=`root`@`localhost` FUNCTION `fn_2`(i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real) RETURNS year(4)
 
227
    SQL SECURITY INVOKER
 
228
    COMMENT 'created with INVOKER'
 
229
BEGIN
 
230
set @x=i1;
 
231
set @y=@x;
 
232
return i4;
 
233
END
 
234
character_set_client    latin1
 
235
collation_connection    latin1_swedish_ci
 
236
Database Collation      latin1_swedish_ci
 
237
SHOW CREATE PROCEDURE sp_1;
 
238
Procedure       sp_1
 
239
sql_mode        
 
240
Create Procedure        CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_1`(i1 int)
 
241
BEGIN
 
242
set @x=i1;
 
243
END
 
244
character_set_client    latin1
 
245
collation_connection    latin1_swedish_ci
 
246
Database Collation      latin1_swedish_ci
 
247
SHOW CREATE PROCEDURE sp_2;
 
248
Procedure       sp_2
 
249
sql_mode        
 
250
Create Procedure        CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int)
 
251
    SQL SECURITY INVOKER
 
252
    COMMENT 'created with INVOKER'
 
253
BEGIN
 
254
set @x=i1;
 
255
END
 
256
character_set_client    latin1
 
257
collation_connection    latin1_swedish_ci
 
258
Database Collation      latin1_swedish_ci
 
259
SHOW FUNCTION STATUS LIKE 'fn_%';
 
260
Db      db_storedproc
 
261
Name    fn_1
 
262
Type    FUNCTION
 
263
Definer root@localhost
 
264
Modified        <modified>
 
265
Created <created>
 
266
Security_type   DEFINER
 
267
Comment 
 
268
character_set_client    latin1
 
269
collation_connection    latin1_swedish_ci
 
270
Database Collation      latin1_swedish_ci
 
271
Db      db_storedproc
 
272
Name    fn_2
 
273
Type    FUNCTION
 
274
Definer root@localhost
 
275
Modified        <modified>
 
276
Created <created>
 
277
Security_type   INVOKER
 
278
Comment created with INVOKER
 
279
character_set_client    latin1
 
280
collation_connection    latin1_swedish_ci
 
281
Database Collation      latin1_swedish_ci
 
282
SHOW PROCEDURE STATUS LIKE 'sp_%';
 
283
Db      db_storedproc
 
284
Name    sp_1
 
285
Type    PROCEDURE
 
286
Definer root@localhost
 
287
Modified        <modified>
 
288
Created <created>
 
289
Security_type   DEFINER
 
290
Comment 
 
291
character_set_client    latin1
 
292
collation_connection    latin1_swedish_ci
 
293
Database Collation      latin1_swedish_ci
 
294
Db      db_storedproc
 
295
Name    sp_2
 
296
Type    PROCEDURE
 
297
Definer root@localhost
 
298
Modified        <modified>
 
299
Created <created>
 
300
Security_type   INVOKER
 
301
Comment created with INVOKER
 
302
character_set_client    latin1
 
303
collation_connection    latin1_swedish_ci
 
304
Database Collation      latin1_swedish_ci
 
305
 
 
306
... now change some stuff:
 
307
--------------------------
 
308
ALTER PROCEDURE sp_1 SQL SECURITY INVOKER;
 
309
ALTER PROCEDURE sp_1 COMMENT 'new comment, SP changed to INVOKER';
 
310
ALTER PROCEDURE sp_2 SQL SECURITY DEFINER;
 
311
ALTER PROCEDURE sp_2 DROP COMMENT;
 
312
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DROP COMMENT' at line 1
 
313
ALTER PROCEDURE sp_2 COMMENT 'SP changed to DEFINER';
 
314
ALTER PROCEDURE sp_2 READS SQL DATA;
 
315
ALTER FUNCTION  fn_1 SQL SECURITY INVOKER;
 
316
ALTER FUNCTION  fn_1 COMMENT 'new comment, FN changed to INVOKER';
 
317
ALTER FUNCTION  fn_1 NO SQL;
 
318
ALTER FUNCTION  fn_2 SQL SECURITY DEFINER;
 
319
ALTER FUNCTION  fn_2 COMMENT 'FN changed to DEFINER';
 
320
ALTER FUNCTION  fn_2 MODIFIES SQL DATA;
 
321
 
 
322
... now check what is stored:
 
323
-----------------------------
 
324
SELECT * FROM information_schema.routines where routine_schema = 'db_storedproc';
 
325
SPECIFIC_NAME   fn_1
 
326
ROUTINE_CATALOG NULL
 
327
ROUTINE_SCHEMA  db_storedproc
 
328
ROUTINE_NAME    fn_1
 
329
ROUTINE_TYPE    FUNCTION
 
330
DTD_IDENTIFIER  year(4)
 
331
ROUTINE_BODY    SQL
 
332
ROUTINE_DEFINITION      BEGIN
 
333
set @x=i1;
 
334
set @y=@x;
 
335
return i4;
 
336
END
 
337
EXTERNAL_NAME   NULL
 
338
EXTERNAL_LANGUAGE       NULL
 
339
PARAMETER_STYLE SQL
 
340
IS_DETERMINISTIC        NO
 
341
SQL_DATA_ACCESS NO SQL
 
342
SQL_PATH        NULL
 
343
SECURITY_TYPE   INVOKER
 
344
CREATED <modified>
 
345
LAST_ALTERED    <created>
 
346
SQL_MODE        
 
347
ROUTINE_COMMENT new comment, FN changed to INVOKER
 
348
DEFINER root@localhost
 
349
CHARACTER_SET_CLIENT    latin1
 
350
COLLATION_CONNECTION    latin1_swedish_ci
 
351
DATABASE_COLLATION      latin1_swedish_ci
 
352
SPECIFIC_NAME   fn_2
 
353
ROUTINE_CATALOG NULL
 
354
ROUTINE_SCHEMA  db_storedproc
 
355
ROUTINE_NAME    fn_2
 
356
ROUTINE_TYPE    FUNCTION
 
357
DTD_IDENTIFIER  year(4)
 
358
ROUTINE_BODY    SQL
 
359
ROUTINE_DEFINITION      BEGIN
 
360
set @x=i1;
 
361
set @y=@x;
 
362
return i4;
 
363
END
 
364
EXTERNAL_NAME   NULL
 
365
EXTERNAL_LANGUAGE       NULL
 
366
PARAMETER_STYLE SQL
 
367
IS_DETERMINISTIC        NO
 
368
SQL_DATA_ACCESS MODIFIES SQL DATA
 
369
SQL_PATH        NULL
 
370
SECURITY_TYPE   DEFINER
 
371
CREATED <modified>
 
372
LAST_ALTERED    <created>
 
373
SQL_MODE        
 
374
ROUTINE_COMMENT FN changed to DEFINER
 
375
DEFINER root@localhost
 
376
CHARACTER_SET_CLIENT    latin1
 
377
COLLATION_CONNECTION    latin1_swedish_ci
 
378
DATABASE_COLLATION      latin1_swedish_ci
 
379
SPECIFIC_NAME   sp_1
 
380
ROUTINE_CATALOG NULL
 
381
ROUTINE_SCHEMA  db_storedproc
 
382
ROUTINE_NAME    sp_1
 
383
ROUTINE_TYPE    PROCEDURE
 
384
DTD_IDENTIFIER  NULL
 
385
ROUTINE_BODY    SQL
 
386
ROUTINE_DEFINITION      BEGIN
 
387
set @x=i1;
 
388
END
 
389
EXTERNAL_NAME   NULL
 
390
EXTERNAL_LANGUAGE       NULL
 
391
PARAMETER_STYLE SQL
 
392
IS_DETERMINISTIC        NO
 
393
SQL_DATA_ACCESS CONTAINS SQL
 
394
SQL_PATH        NULL
 
395
SECURITY_TYPE   INVOKER
 
396
CREATED <modified>
 
397
LAST_ALTERED    <created>
 
398
SQL_MODE        
 
399
ROUTINE_COMMENT new comment, SP changed to INVOKER
 
400
DEFINER root@localhost
 
401
CHARACTER_SET_CLIENT    latin1
 
402
COLLATION_CONNECTION    latin1_swedish_ci
 
403
DATABASE_COLLATION      latin1_swedish_ci
 
404
SPECIFIC_NAME   sp_2
 
405
ROUTINE_CATALOG NULL
 
406
ROUTINE_SCHEMA  db_storedproc
 
407
ROUTINE_NAME    sp_2
 
408
ROUTINE_TYPE    PROCEDURE
 
409
DTD_IDENTIFIER  NULL
 
410
ROUTINE_BODY    SQL
 
411
ROUTINE_DEFINITION      BEGIN
 
412
set @x=i1;
 
413
END
 
414
EXTERNAL_NAME   NULL
 
415
EXTERNAL_LANGUAGE       NULL
 
416
PARAMETER_STYLE SQL
 
417
IS_DETERMINISTIC        NO
 
418
SQL_DATA_ACCESS READS SQL DATA
 
419
SQL_PATH        NULL
 
420
SECURITY_TYPE   DEFINER
 
421
CREATED <modified>
 
422
LAST_ALTERED    <created>
 
423
SQL_MODE        
 
424
ROUTINE_COMMENT SP changed to DEFINER
 
425
DEFINER root@localhost
 
426
CHARACTER_SET_CLIENT    latin1
 
427
COLLATION_CONNECTION    latin1_swedish_ci
 
428
DATABASE_COLLATION      latin1_swedish_ci
 
429
SHOW CREATE FUNCTION  fn_1;
 
430
Function        fn_1
 
431
sql_mode        
 
432
Create Function CREATE DEFINER=`root`@`localhost` FUNCTION `fn_1`(i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real) RETURNS year(4)
 
433
    NO SQL
 
434
    SQL SECURITY INVOKER
 
435
    COMMENT 'new comment, FN changed to INVOKER'
 
436
BEGIN
 
437
set @x=i1;
 
438
set @y=@x;
 
439
return i4;
 
440
END
 
441
character_set_client    latin1
 
442
collation_connection    latin1_swedish_ci
 
443
Database Collation      latin1_swedish_ci
 
444
SHOW CREATE FUNCTION  fn_2;
 
445
Function        fn_2
 
446
sql_mode        
 
447
Create Function CREATE DEFINER=`root`@`localhost` FUNCTION `fn_2`(i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real) RETURNS year(4)
 
448
    MODIFIES SQL DATA
 
449
    COMMENT 'FN changed to DEFINER'
 
450
BEGIN
 
451
set @x=i1;
 
452
set @y=@x;
 
453
return i4;
 
454
END
 
455
character_set_client    latin1
 
456
collation_connection    latin1_swedish_ci
 
457
Database Collation      latin1_swedish_ci
 
458
SHOW CREATE PROCEDURE sp_1;
 
459
Procedure       sp_1
 
460
sql_mode        
 
461
Create Procedure        CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_1`(i1 int)
 
462
    SQL SECURITY INVOKER
 
463
    COMMENT 'new comment, SP changed to INVOKER'
 
464
BEGIN
 
465
set @x=i1;
 
466
END
 
467
character_set_client    latin1
 
468
collation_connection    latin1_swedish_ci
 
469
Database Collation      latin1_swedish_ci
 
470
SHOW CREATE PROCEDURE sp_2;
 
471
Procedure       sp_2
 
472
sql_mode        
 
473
Create Procedure        CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int)
 
474
    READS SQL DATA
 
475
    COMMENT 'SP changed to DEFINER'
 
476
BEGIN
 
477
set @x=i1;
 
478
END
 
479
character_set_client    latin1
 
480
collation_connection    latin1_swedish_ci
 
481
Database Collation      latin1_swedish_ci
 
482
SHOW FUNCTION STATUS LIKE 'fn_%';
 
483
Db      db_storedproc
 
484
Name    fn_1
 
485
Type    FUNCTION
 
486
Definer root@localhost
 
487
Modified        <modified>
 
488
Created <created>
 
489
Security_type   INVOKER
 
490
Comment new comment, FN changed to INVOKER
 
491
character_set_client    latin1
 
492
collation_connection    latin1_swedish_ci
 
493
Database Collation      latin1_swedish_ci
 
494
Db      db_storedproc
 
495
Name    fn_2
 
496
Type    FUNCTION
 
497
Definer root@localhost
 
498
Modified        <modified>
 
499
Created <created>
 
500
Security_type   DEFINER
 
501
Comment FN changed to DEFINER
 
502
character_set_client    latin1
 
503
collation_connection    latin1_swedish_ci
 
504
Database Collation      latin1_swedish_ci
 
505
SHOW PROCEDURE STATUS LIKE 'sp_%';
 
506
Db      db_storedproc
 
507
Name    sp_1
 
508
Type    PROCEDURE
 
509
Definer root@localhost
 
510
Modified        <modified>
 
511
Created <created>
 
512
Security_type   INVOKER
 
513
Comment new comment, SP changed to INVOKER
 
514
character_set_client    latin1
 
515
collation_connection    latin1_swedish_ci
 
516
Database Collation      latin1_swedish_ci
 
517
Db      db_storedproc
 
518
Name    sp_2
 
519
Type    PROCEDURE
 
520
Definer root@localhost
 
521
Modified        <modified>
 
522
Created <created>
 
523
Security_type   DEFINER
 
524
Comment SP changed to DEFINER
 
525
character_set_client    latin1
 
526
collation_connection    latin1_swedish_ci
 
527
Database Collation      latin1_swedish_ci
 
528
 
 
529
... change back to default and check result:
 
530
--------------------------------------------
 
531
ALTER FUNCTION  fn_2 CONTAINS SQL;
 
532
 
 
533
... now check what is stored:
 
534
-----------------------------
 
535
SELECT * FROM information_schema.routines where routine_schema = 'db_storedproc';
 
536
SPECIFIC_NAME   fn_1
 
537
ROUTINE_CATALOG NULL
 
538
ROUTINE_SCHEMA  db_storedproc
 
539
ROUTINE_NAME    fn_1
 
540
ROUTINE_TYPE    FUNCTION
 
541
DTD_IDENTIFIER  year(4)
 
542
ROUTINE_BODY    SQL
 
543
ROUTINE_DEFINITION      BEGIN
 
544
set @x=i1;
 
545
set @y=@x;
 
546
return i4;
 
547
END
 
548
EXTERNAL_NAME   NULL
 
549
EXTERNAL_LANGUAGE       NULL
 
550
PARAMETER_STYLE SQL
 
551
IS_DETERMINISTIC        NO
 
552
SQL_DATA_ACCESS NO SQL
 
553
SQL_PATH        NULL
 
554
SECURITY_TYPE   INVOKER
 
555
CREATED <modified>
 
556
LAST_ALTERED    <created>
 
557
SQL_MODE        
 
558
ROUTINE_COMMENT new comment, FN changed to INVOKER
 
559
DEFINER root@localhost
 
560
CHARACTER_SET_CLIENT    latin1
 
561
COLLATION_CONNECTION    latin1_swedish_ci
 
562
DATABASE_COLLATION      latin1_swedish_ci
 
563
SPECIFIC_NAME   fn_2
 
564
ROUTINE_CATALOG NULL
 
565
ROUTINE_SCHEMA  db_storedproc
 
566
ROUTINE_NAME    fn_2
 
567
ROUTINE_TYPE    FUNCTION
 
568
DTD_IDENTIFIER  year(4)
 
569
ROUTINE_BODY    SQL
 
570
ROUTINE_DEFINITION      BEGIN
 
571
set @x=i1;
 
572
set @y=@x;
 
573
return i4;
 
574
END
 
575
EXTERNAL_NAME   NULL
 
576
EXTERNAL_LANGUAGE       NULL
 
577
PARAMETER_STYLE SQL
 
578
IS_DETERMINISTIC        NO
 
579
SQL_DATA_ACCESS CONTAINS SQL
 
580
SQL_PATH        NULL
 
581
SECURITY_TYPE   DEFINER
 
582
CREATED <modified>
 
583
LAST_ALTERED    <created>
 
584
SQL_MODE        
 
585
ROUTINE_COMMENT FN changed to DEFINER
 
586
DEFINER root@localhost
 
587
CHARACTER_SET_CLIENT    latin1
 
588
COLLATION_CONNECTION    latin1_swedish_ci
 
589
DATABASE_COLLATION      latin1_swedish_ci
 
590
SPECIFIC_NAME   sp_1
 
591
ROUTINE_CATALOG NULL
 
592
ROUTINE_SCHEMA  db_storedproc
 
593
ROUTINE_NAME    sp_1
 
594
ROUTINE_TYPE    PROCEDURE
 
595
DTD_IDENTIFIER  NULL
 
596
ROUTINE_BODY    SQL
 
597
ROUTINE_DEFINITION      BEGIN
 
598
set @x=i1;
 
599
END
 
600
EXTERNAL_NAME   NULL
 
601
EXTERNAL_LANGUAGE       NULL
 
602
PARAMETER_STYLE SQL
 
603
IS_DETERMINISTIC        NO
 
604
SQL_DATA_ACCESS CONTAINS SQL
 
605
SQL_PATH        NULL
 
606
SECURITY_TYPE   INVOKER
 
607
CREATED <modified>
 
608
LAST_ALTERED    <created>
 
609
SQL_MODE        
 
610
ROUTINE_COMMENT new comment, SP changed to INVOKER
 
611
DEFINER root@localhost
 
612
CHARACTER_SET_CLIENT    latin1
 
613
COLLATION_CONNECTION    latin1_swedish_ci
 
614
DATABASE_COLLATION      latin1_swedish_ci
 
615
SPECIFIC_NAME   sp_2
 
616
ROUTINE_CATALOG NULL
 
617
ROUTINE_SCHEMA  db_storedproc
 
618
ROUTINE_NAME    sp_2
 
619
ROUTINE_TYPE    PROCEDURE
 
620
DTD_IDENTIFIER  NULL
 
621
ROUTINE_BODY    SQL
 
622
ROUTINE_DEFINITION      BEGIN
 
623
set @x=i1;
 
624
END
 
625
EXTERNAL_NAME   NULL
 
626
EXTERNAL_LANGUAGE       NULL
 
627
PARAMETER_STYLE SQL
 
628
IS_DETERMINISTIC        NO
 
629
SQL_DATA_ACCESS READS SQL DATA
 
630
SQL_PATH        NULL
 
631
SECURITY_TYPE   DEFINER
 
632
CREATED <modified>
 
633
LAST_ALTERED    <created>
 
634
SQL_MODE        
 
635
ROUTINE_COMMENT SP changed to DEFINER
 
636
DEFINER root@localhost
 
637
CHARACTER_SET_CLIENT    latin1
 
638
COLLATION_CONNECTION    latin1_swedish_ci
 
639
DATABASE_COLLATION      latin1_swedish_ci
 
640
SHOW CREATE FUNCTION  fn_1;
 
641
Function        fn_1
 
642
sql_mode        
 
643
Create Function CREATE DEFINER=`root`@`localhost` FUNCTION `fn_1`(i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real) RETURNS year(4)
 
644
    NO SQL
 
645
    SQL SECURITY INVOKER
 
646
    COMMENT 'new comment, FN changed to INVOKER'
 
647
BEGIN
 
648
set @x=i1;
 
649
set @y=@x;
 
650
return i4;
 
651
END
 
652
character_set_client    latin1
 
653
collation_connection    latin1_swedish_ci
 
654
Database Collation      latin1_swedish_ci
 
655
SHOW CREATE FUNCTION  fn_2;
 
656
Function        fn_2
 
657
sql_mode        
 
658
Create Function CREATE DEFINER=`root`@`localhost` FUNCTION `fn_2`(i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real) RETURNS year(4)
 
659
    COMMENT 'FN changed to DEFINER'
 
660
BEGIN
 
661
set @x=i1;
 
662
set @y=@x;
 
663
return i4;
 
664
END
 
665
character_set_client    latin1
 
666
collation_connection    latin1_swedish_ci
 
667
Database Collation      latin1_swedish_ci
 
668
SHOW CREATE PROCEDURE sp_1;
 
669
Procedure       sp_1
 
670
sql_mode        
 
671
Create Procedure        CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_1`(i1 int)
 
672
    SQL SECURITY INVOKER
 
673
    COMMENT 'new comment, SP changed to INVOKER'
 
674
BEGIN
 
675
set @x=i1;
 
676
END
 
677
character_set_client    latin1
 
678
collation_connection    latin1_swedish_ci
 
679
Database Collation      latin1_swedish_ci
 
680
SHOW CREATE PROCEDURE sp_2;
 
681
Procedure       sp_2
 
682
sql_mode        
 
683
Create Procedure        CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int)
 
684
    READS SQL DATA
 
685
    COMMENT 'SP changed to DEFINER'
 
686
BEGIN
 
687
set @x=i1;
 
688
END
 
689
character_set_client    latin1
 
690
collation_connection    latin1_swedish_ci
 
691
Database Collation      latin1_swedish_ci
 
692
SHOW FUNCTION STATUS LIKE 'fn_%';
 
693
Db      db_storedproc
 
694
Name    fn_1
 
695
Type    FUNCTION
 
696
Definer root@localhost
 
697
Modified        <modified>
 
698
Created <created>
 
699
Security_type   INVOKER
 
700
Comment new comment, FN changed to INVOKER
 
701
character_set_client    latin1
 
702
collation_connection    latin1_swedish_ci
 
703
Database Collation      latin1_swedish_ci
 
704
Db      db_storedproc
 
705
Name    fn_2
 
706
Type    FUNCTION
 
707
Definer root@localhost
 
708
Modified        <modified>
 
709
Created <created>
 
710
Security_type   DEFINER
 
711
Comment FN changed to DEFINER
 
712
character_set_client    latin1
 
713
collation_connection    latin1_swedish_ci
 
714
Database Collation      latin1_swedish_ci
 
715
SHOW PROCEDURE STATUS LIKE 'sp_%';
 
716
Db      db_storedproc
 
717
Name    sp_1
 
718
Type    PROCEDURE
 
719
Definer root@localhost
 
720
Modified        <modified>
 
721
Created <created>
 
722
Security_type   INVOKER
 
723
Comment new comment, SP changed to INVOKER
 
724
character_set_client    latin1
 
725
collation_connection    latin1_swedish_ci
 
726
Database Collation      latin1_swedish_ci
 
727
Db      db_storedproc
 
728
Name    sp_2
 
729
Type    PROCEDURE
 
730
Definer root@localhost
 
731
Modified        <modified>
 
732
Created <created>
 
733
Security_type   DEFINER
 
734
Comment SP changed to DEFINER
 
735
character_set_client    latin1
 
736
collation_connection    latin1_swedish_ci
 
737
Database Collation      latin1_swedish_ci
 
738
 
 
739
... cleanup
 
740
-----------
 
741
DROP FUNCTION fn_1;
 
742
DROP FUNCTION fn_2;
 
743
DROP PROCEDURE sp_1;
 
744
 
 
745
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
 
746
--------------------------------------------------------------------------------
 
747
DROP DATABASE IF EXISTS db_storedproc;
 
748
DROP DATABASE IF EXISTS db_storedproc_1;
 
749
 
 
750
.                               +++ END OF SCRIPT +++
 
751
--------------------------------------------------------------------------------