mirror of
https://github.com/MariaDB/server.git
synced 2025-01-20 22:12:30 +01:00
257 lines
6.4 KiB
Text
257 lines
6.4 KiB
Text
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');
|
|
'Bug#35367: Random value of id is increasing on assigning value to';
|
|
'variable that is less than current offset';
|
|
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
|
|
'Bug#35369: Some invalid value of id is increasing on assigning value to';
|
|
'variable that is greater than auto_increment_increment';
|
|
'#--------------------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: '0'
|
|
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
|
|
'Bug#35370: Some invalid value of id is increasing on assigning negative';
|
|
' value in variable';
|
|
## 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;
|