summaryrefslogtreecommitdiff
path: root/mysql-test/suite/sys_vars/r/auto_increment_offset_func.result
blob: d2b5b828c04f8bad7c83426781c5c3b19ece4c2b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
SET @global_auto_increment_increment = @@global.auto_increment_increment;
SET @session_auto_increment_increment = @@session.auto_increment_increment;
SET @global_auto_increment_offset = @@global.auto_increment_offset;
SET @session_auto_increment_offset = @@session.auto_increment_offset;
drop table if exists t1;
## Creating New Table ##
CREATE TABLE t1
(
id INT NOT NULL auto_increment,
PRIMARY KEY (id),
name VARCHAR(30)
);
'#--------------------FN_DYNVARS_002_01-------------------------#'
## Setting initial value of variable to 5 ##
SET @@auto_increment_increment = 10;
SET @@auto_increment_offset = 5;
'#--------------------FN_DYNVARS_002_02-------------------------#'
## Inserting records in table and verifying variable's behavior ##
INSERT into t1(name) values('Record_1');
SELECT * from t1;
id	name
5	Record_1
INSERT into t1(name) values('Record_2');
SELECT * from t1;
id	name
5	Record_1
15	Record_2
## Test behavior of variable after updating value of variable ##
SET @@auto_increment_offset = 24;
SELECT @@auto_increment_offset;
@@auto_increment_offset
24
INSERT into t1(name) values('Record_3');
SELECT * from t1;
id	name
5	Record_1
15	Record_2
24	Record_3
INSERT into t1(name) values('Record_4');
SELECT * from t1;
id	name
5	Record_1
15	Record_2
24	Record_3
34	Record_4
'#--------------------FN_DYNVARS_002_03-------------------------#'
## Changing value of global scope before opening new connection ##
SET @@global.auto_increment_increment = 15;
SET @@global.auto_increment_offset = 36;
## New connection test_con1 ##
## Value of session & global vairable here should be 10 ##
SELECT @@global.auto_increment_offset = 36;
@@global.auto_increment_offset = 36
1
SELECT @@session.auto_increment_offset = 36;
@@session.auto_increment_offset = 36
1
## Verify global value effect of variable by inserting new rows in table ##
INSERT into t1(name) values('Record_5');
INSERT into t1(name) values('Record_6');
SELECT * from t1;
id	name
5	Record_1
15	Record_2
24	Record_3
34	Record_4
36	Record_5
51	Record_6
## Setting session value of variable and inserting data in table ##
SET @@session.auto_increment_offset = 54;
INSERT into t1(name) values('Record_7');
INSERT into t1(name) values('Record_8');
SELECT * from t1;
id	name
5	Record_1
15	Record_2
24	Record_3
34	Record_4
36	Record_5
51	Record_6
54	Record_7
69	Record_8
'#--------------------FN_DYNVARS_002_04-------------------------#'
## Setting value of variable less than last insert id ##
SET @@session.auto_increment_offset = 5;
INSERT into t1(name) values('Record_9');
INSERT into t1(name) values('Record_10');
INSERT into t1(name) values('Record_11');
INSERT into t1(name) values('Record_12');
SELECT * from t1;
id	name
5	Record_1
15	Record_2
24	Record_3
34	Record_4
36	Record_5
51	Record_6
54	Record_7
69	Record_8
80	Record_9
95	Record_10
110	Record_11
125	Record_12
'#--------------------FN_DYNVARS_002_05-------------------------#'
## Assigning value to variable greater than auto_increment_incrent value ##
SET @@auto_increment_offset = 140;
SET @@auto_increment_increment = 10;
INSERT into t1(name) values('Record_13');
INSERT into t1(name) values('Record_14');
SELECT * from t1;
id	name
5	Record_1
15	Record_2
24	Record_3
34	Record_4
36	Record_5
51	Record_6
54	Record_7
69	Record_8
80	Record_9
95	Record_10
110	Record_11
125	Record_12
134	Record_13
140	Record_14
'#--------------------FN_DYNVARS_002_06-------------------------#'
## Changing datatype of column id with primary key to SmallInt ##
ALTER table t1 modify id SMALLINT NOT NULL auto_increment;
INSERT into t1(name) values('Record_15');
INSERT into t1(name) values('Record_16');
SELECT * from t1;
id	name
5	Record_1
15	Record_2
24	Record_3
34	Record_4
36	Record_5
51	Record_6
54	Record_7
69	Record_8
80	Record_9
95	Record_10
110	Record_11
125	Record_12
134	Record_13
140	Record_14
150	Record_15
160	Record_16
## Changing datatype of column id with primary key to BigInt ##
ALTER table t1 modify id BIGINT NOT NULL auto_increment;
INSERT into t1(name) values('Record_17');
INSERT into t1(name) values('Record_18');
SELECT * from t1;
id	name
5	Record_1
15	Record_2
24	Record_3
34	Record_4
36	Record_5
51	Record_6
54	Record_7
69	Record_8
80	Record_9
95	Record_10
110	Record_11
125	Record_12
134	Record_13
140	Record_14
150	Record_15
160	Record_16
170	Record_17
180	Record_18
'#--------------------FN_DYNVARS_002_07-------------------------#'
## Assigning -ve value to variable ## 
SET @@auto_increment_offset = -10;
Warnings:
Warning	1292	Truncated incorrect auto_increment_offset value: '-10'
SELECT @@auto_increment_offset = -10;
@@auto_increment_offset = -10
0
INSERT into t1(name) values('Record_17');
INSERT into t1(name) values('Record_18');
SELECT * from t1;
id	name
5	Record_1
15	Record_2
24	Record_3
34	Record_4
36	Record_5
51	Record_6
54	Record_7
69	Record_8
80	Record_9
95	Record_10
110	Record_11
125	Record_12
134	Record_13
140	Record_14
150	Record_15
160	Record_16
170	Record_17
180	Record_18
181	Record_17
191	Record_18
## Assigning value that is out of range of variable ##
SET @@auto_increment_offset = 65536;
Warnings:
Warning	1292	Truncated incorrect auto_increment_offset value: '65536'
SELECT @@auto_increment_offset;
@@auto_increment_offset
65535
INSERT into t1(name) values('Record_17');
INSERT into t1(name) values('Record_18');
INSERT into t1(name) values('Record_19');
INSERT into t1(name) values('Record_20');
SELECT * from t1;
id	name
5	Record_1
15	Record_2
24	Record_3
34	Record_4
36	Record_5
51	Record_6
54	Record_7
69	Record_8
80	Record_9
95	Record_10
110	Record_11
125	Record_12
134	Record_13
140	Record_14
150	Record_15
160	Record_16
170	Record_17
180	Record_18
181	Record_17
191	Record_18
199	Record_17
209	Record_18
219	Record_19
229	Record_20
## No effect of auto_increment_offset since value of this variable is greater ## 
## than auto_increment_increment ##
## Dropping table ##
DROP table if exists t1;
## Disconnecting connection ##
## switching to default connection ##
SET @@global.auto_increment_increment = @global_auto_increment_increment;
SET @@session.auto_increment_increment = @session_auto_increment_increment;
SET @@global.auto_increment_offset = @global_auto_increment_offset;
SET @@session.auto_increment_offset = @session_auto_increment_offset;