mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 13:32:33 +01:00
104 lines
2.8 KiB
Text
104 lines
2.8 KiB
Text
|
#
|
||
|
# Test of auto_increment with offset
|
||
|
#
|
||
|
-- source include/master-slave.inc
|
||
|
|
||
|
eval create table t1 (a int not null auto_increment,b int, primary key (a)) engine=$engine_type2 auto_increment=3;
|
||
|
insert into t1 values (NULL,1),(NULL,2),(NULL,3);
|
||
|
select * from t1;
|
||
|
|
||
|
sync_slave_with_master;
|
||
|
select * from t1;
|
||
|
connection master;
|
||
|
drop table t1;
|
||
|
|
||
|
eval create table t1 (a int not null auto_increment,b int, primary key (a)) engine=$engine_type2;
|
||
|
insert into t1 values (1,1),(NULL,2),(3,3),(NULL,4);
|
||
|
delete from t1 where b=4;
|
||
|
insert into t1 values (NULL,5),(NULL,6);
|
||
|
select * from t1;
|
||
|
|
||
|
sync_slave_with_master;
|
||
|
select * from t1;
|
||
|
connection master;
|
||
|
|
||
|
drop table t1;
|
||
|
|
||
|
set @@session.auto_increment_increment=100, @@session.auto_increment_offset=10;
|
||
|
show variables like "%auto_inc%";
|
||
|
|
||
|
eval create table t1 (a int not null auto_increment, primary key (a)) engine=$engine_type2;
|
||
|
# Insert with 2 insert statements to get better testing of logging
|
||
|
insert into t1 values (NULL),(5),(NULL);
|
||
|
insert into t1 values (250),(NULL);
|
||
|
select * from t1;
|
||
|
insert into t1 values (1000);
|
||
|
set @@insert_id=400;
|
||
|
insert into t1 values(NULL),(NULL);
|
||
|
select * from t1;
|
||
|
|
||
|
sync_slave_with_master;
|
||
|
select * from t1;
|
||
|
connection master;
|
||
|
drop table t1;
|
||
|
|
||
|
#
|
||
|
# Same test with innodb (as the innodb code is a bit different)
|
||
|
#
|
||
|
eval create table t1 (a int not null auto_increment, primary key (a)) engine=$engine_type;
|
||
|
# Insert with 2 insert statements to get better testing of logging
|
||
|
insert into t1 values (NULL),(5),(NULL);
|
||
|
insert into t1 values (250),(NULL);
|
||
|
select * from t1;
|
||
|
insert into t1 values (1000);
|
||
|
set @@insert_id=400;
|
||
|
insert into t1 values(NULL),(NULL);
|
||
|
select * from t1;
|
||
|
|
||
|
sync_slave_with_master;
|
||
|
select * from t1;
|
||
|
connection master;
|
||
|
drop table t1;
|
||
|
|
||
|
set @@session.auto_increment_increment=1, @@session.auto_increment_offset=1;
|
||
|
eval create table t1 (a int not null auto_increment, primary key (a)) engine=$engine_type2;
|
||
|
# Insert with 2 insert statements to get better testing of logging
|
||
|
insert into t1 values (NULL),(5),(NULL),(NULL);
|
||
|
insert into t1 values (500),(NULL),(502),(NULL),(NULL);
|
||
|
select * from t1;
|
||
|
set @@insert_id=600;
|
||
|
--error 1062
|
||
|
insert into t1 values(600),(NULL),(NULL);
|
||
|
set @@insert_id=600;
|
||
|
insert ignore into t1 values(600),(NULL),(NULL),(610),(NULL);
|
||
|
select * from t1;
|
||
|
|
||
|
sync_slave_with_master;
|
||
|
select * from t1;
|
||
|
connection master;
|
||
|
drop table t1;
|
||
|
|
||
|
#
|
||
|
# Test that auto-increment works when slave has rows in the table
|
||
|
#
|
||
|
set @@session.auto_increment_increment=10, @@session.auto_increment_offset=1;
|
||
|
|
||
|
eval create table t1 (a int not null auto_increment, primary key (a)) engine=$engine_type2;
|
||
|
|
||
|
sync_slave_with_master;
|
||
|
insert into t1 values(2),(12),(22),(32),(42);
|
||
|
connection master;
|
||
|
|
||
|
insert into t1 values (NULL),(NULL);
|
||
|
insert into t1 values (3),(NULL),(NULL);
|
||
|
select * from t1;
|
||
|
|
||
|
sync_slave_with_master;
|
||
|
select * from t1;
|
||
|
connection master;
|
||
|
|
||
|
drop table t1;
|
||
|
|
||
|
# End cleanup
|
||
|
sync_slave_with_master;
|