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

« back to all changes in this revision

Viewing changes to mysql-test/suite/funcs_1/r/ndb_storedproc_07.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.7 - SQL mode checks:
 
66
--------------------------------------------------------------------------------
 
67
USE db_storedproc;
 
68
 
 
69
Testcase 3.1.7.1:
 
70
-----------------
 
71
Ensure that the sql_mode setting in effect at the time a stored procedure is
 
72
created is the same setting under which the stored procedure runs when it is
 
73
called/executed.
 
74
--------------------------------------------------------------------------------
 
75
DROP PROCEDURE IF EXISTS sp1;
 
76
DROP TABLE IF EXISTS temp_tbl;
 
77
DROP TABLE IF EXISTS result;
 
78
CREATE TABLE temp_tbl (f1 tinyint);
 
79
CREATE TABLE result (f1 text(200), f2 char(20));
 
80
set @@sql_mode='traditional';
 
81
SHOW VARIABLES LIKE 'sql_mode';
 
82
Variable_name   Value
 
83
sql_mode        STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER
 
84
CREATE PROCEDURE sp1()
 
85
BEGIN
 
86
declare a tinyint;
 
87
declare count_ int default 1;
 
88
declare continue handler for sqlstate '22003' set count_=1000;
 
89
SHOW VARIABLES LIKE 'sql_mode';
 
90
SELECT @@sql_mode into @cur_val_sql_mode;
 
91
insert into temp_tbl values (1000);
 
92
if count_ = 1000 THEN
 
93
INSERT INTO result VALUES (@cur_val_sql_mode, 'value restored');
 
94
ELSE
 
95
INSERT INTO result VALUES (@cur_val_sql_mode, 'value not restored');
 
96
END if;
 
97
END//
 
98
SHOW CREATE PROCEDURE sp1;
 
99
Procedure       sql_mode        Create Procedure        character_set_client    collation_connection    Database Collation
 
100
sp1     STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER   CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`()
 
101
BEGIN
 
102
declare a tinyint;
 
103
declare count_ int default 1;
 
104
declare continue handler for sqlstate '22003' set count_=1000;
 
105
SHOW VARIABLES LIKE 'sql_mode';
 
106
SELECT @@sql_mode into @cur_val_sql_mode;
 
107
insert into temp_tbl values (1000);
 
108
if count_ = 1000 THEN
 
109
INSERT INTO result VALUES (@cur_val_sql_mode, 'value restored');
 
110
ELSE
 
111
INSERT INTO result VALUES (@cur_val_sql_mode, 'value not restored');
 
112
END if;
 
113
END     latin1  latin1_swedish_ci       latin1_swedish_ci
 
114
set @@sql_mode='';
 
115
SHOW VARIABLES LIKE 'sql_mode';
 
116
Variable_name   Value
 
117
sql_mode        
 
118
CALL sp1();
 
119
Variable_name   Value
 
120
sql_mode        STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER
 
121
SELECT * from result;
 
122
f1      f2
 
123
STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER   value restored
 
124
SHOW VARIABLES LIKE 'sql_mode';
 
125
Variable_name   Value
 
126
sql_mode        
 
127
SELECT @@sql_mode;
 
128
@@sql_mode
 
129
 
 
130
SET @@sql_mode='TRADITIONAL';
 
131
DROP PROCEDURE sp1;
 
132
DROP TABLE temp_tbl;
 
133
DROP TABLE result;
 
134
 
 
135
Testcase 3.1.7.2:
 
136
-----------------
 
137
Ensure that if the sql_mode setting is changed when a stored procedure is run,
 
138
that the original setting is restored as soon as the stored procedure execution
 
139
is complete.
 
140
--------------------------------------------------------------------------------
 
141
DROP PROCEDURE IF EXISTS sp2;
 
142
... show initial value
 
143
SHOW VARIABLES LIKE 'sql_mode';
 
144
Variable_name   Value
 
145
sql_mode        STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER
 
146
CREATE PROCEDURE sp2()
 
147
BEGIN
 
148
SET @@sql_mode='MAXDB';
 
149
SHOW VARIABLES LIKE 'sql_mode';
 
150
END//
 
151
SHOW CREATE PROCEDURE sp2;
 
152
Procedure       sql_mode        Create Procedure        character_set_client    collation_connection    Database Collation
 
153
sp2     STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER   CREATE DEFINER=`root`@`localhost` PROCEDURE `sp2`()
 
154
BEGIN
 
155
SET @@sql_mode='MAXDB';
 
156
SHOW VARIABLES LIKE 'sql_mode';
 
157
END     latin1  latin1_swedish_ci       latin1_swedish_ci
 
158
... show value prior calling procedure
 
159
SHOW VARIABLES LIKE 'sql_mode';
 
160
Variable_name   Value
 
161
sql_mode        STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER
 
162
... call procedure that changes sql_mode
 
163
CALL sp2();
 
164
Variable_name   Value
 
165
sql_mode        PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,MAXDB,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,NO_AUTO_CREATE_USER
 
166
... check whether old value is re-set
 
167
SHOW VARIABLES LIKE 'sql_mode';
 
168
Variable_name   Value
 
169
sql_mode        STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER
 
170
DROP PROCEDURE sp2;
 
171
 
 
172
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
 
173
--------------------------------------------------------------------------------
 
174
DROP DATABASE IF EXISTS db_storedproc;
 
175
DROP DATABASE IF EXISTS db_storedproc_1;
 
176
 
 
177
.                               +++ END OF SCRIPT +++
 
178
--------------------------------------------------------------------------------