include/master-slave.inc [connection master] connection master; create database s_db; use s_db; grant all on s_db.* to normal_1@'%' identified by 'pass'; grant all on test.* to normal_2@'%' identified by 'pass'; grant all on s_db.* to normal_3@'%' identified by 'pass'; grant all on test.* to normal_4@'%' identified by 'pass'; connection slave; connect m_normal_1, 127.0.0.1, normal_1, pass, s_db, $MASTER_MYPORT; connect m_normal_2, 127.0.0.1, normal_2, pass, test, $MASTER_MYPORT; connect s_normal_3, 127.0.0.1, normal_3, pass, s_db, $SLAVE_MYPORT; connect s_normal_4, 127.0.0.1, normal_4, pass, test, $SLAVE_MYPORT; connection slave; set global read_only=on; use s_db; ########################################### master and slave sync sequence. ########################################### connection master; create sequence s1; show create table s1; Table Create Table s1 CREATE TABLE `s1` ( `next_not_cached_value` bigint(21) NOT NULL, `minimum_value` bigint(21) NOT NULL, `maximum_value` bigint(21) NOT NULL, `start_value` bigint(21) NOT NULL COMMENT 'start value when sequences is created or value if RESTART is used', `increment` bigint(21) NOT NULL COMMENT 'increment value', `cache_size` bigint(21) unsigned NOT NULL, `cycle_option` tinyint(1) unsigned NOT NULL COMMENT '0 if no cycles are allowed, 1 if the sequence should begin a new cycle when maximum_value is passed', `cycle_count` bigint(21) NOT NULL COMMENT 'How many cycles have been done' ) ENGINE=MyISAM SEQUENCE=1 connection slave; show create table s1; Table Create Table s1 CREATE TABLE `s1` ( `next_not_cached_value` bigint(21) NOT NULL, `minimum_value` bigint(21) NOT NULL, `maximum_value` bigint(21) NOT NULL, `start_value` bigint(21) NOT NULL COMMENT 'start value when sequences is created or value if RESTART is used', `increment` bigint(21) NOT NULL COMMENT 'increment value', `cache_size` bigint(21) unsigned NOT NULL, `cycle_option` tinyint(1) unsigned NOT NULL COMMENT '0 if no cycles are allowed, 1 if the sequence should begin a new cycle when maximum_value is passed', `cycle_count` bigint(21) NOT NULL COMMENT 'How many cycles have been done' ) ENGINE=MyISAM SEQUENCE=1 connection master; drop sequence s1; ########################################### not support create table engine=sequence. ########################################### connection master; create table t(id int)engine=sequence; ERROR 42000: Unknown storage engine 'sequence' create table t(id int)engine=innodb; alter table t engine=sequence; ERROR 42000: Unknown storage engine 'sequence' drop table t; ########################################### not support alter sequence table. ########################################### connection master; create sequence s2; alter table s2 add id int; ERROR HY000: Sequence 's_db.s2' table structure is invalid (Wrong number of columns) alter table s2 add index ind_x(start_value); ERROR HY000: Sequence 's_db.s2' table structure is invalid (Sequence tables cannot have any keys) drop sequence s2; ########################################### support create sequence ########################################### connection master; create table t_1(id int); show create sequence t_1; ERROR 42S02: 's_db.t_1' is not a SEQUENCE drop table t_1; CREATE SEQUENCE `s2` ( `next_not_cached_value` bigint(21) NOT NULL, `minimum_value` bigint(21) NOT NULL, `maximum_value` bigint(21) NOT NULL, `start_value` bigint(21) NOT NULL, `increment` bigint(21) NOT NULL, `cache_size` bigint(21) unsigned NOT NULL, `cycle_option` tinyint(1) unsigned NOT NULL, `cycle_count` bigint(21) NOT NULL ) ENGINE=InnoDB sequence=1; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '( `next_not_cached_value` bigint(21) NOT NULL, `minimum_value` bigint(21) NOT...' at line 1 CREATE TABLE `s2` ( `next_not_cached_value` bigint(21) NOT NULL, `minimum_value` bigint(21) NOT NULL, `maximum_value` bigint(21) NOT NULL, `start_value` bigint(21) NOT NULL, `increment` bigint(21) NOT NULL, `cache_size` bigint(21) unsigned NOT NULL, `cycle_option` tinyint(1) unsigned NOT NULL, `cycle_count` bigint(21) NOT NULL ) ENGINE=InnoDB sequence=1; insert into s2 values(1, 1, 10, 1, 2, 1, 1, 0); commit; select * for s2; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 's2' at line 1 select * from s2; next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count 1 1 10 1 2 1 1 0 select NEXT VALUE for s2; NEXT VALUE for s2 1 select NEXT VALUE for s2; NEXT VALUE for s2 3 select NEXT VALUE for s2; NEXT VALUE for s2 5 select NEXT VALUE for s2; NEXT VALUE for s2 7 select NEXT VALUE for s2; NEXT VALUE for s2 9 select NEXT VALUE for s2; NEXT VALUE for s2 1 select NEXT VALUE for s2; NEXT VALUE for s2 3 select * from s2; next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count 5 1 10 1 2 1 1 1 commit; connection master; connection slave; select * from s2; next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count 5 1 10 1 2 1 1 1 connection master; drop sequence s2; CREATE TABLE `s2` ( `next_not_cached_value` bigint(21) NOT NULL, `minimum_value` bigint(21) NOT NULL, `maximum_value` bigint(21) NOT NULL, `start_value` bigint(21) NOT NULL, `increment` bigint(21) NOT NULL, `cache_size` bigint(21) unsigned NOT NULL, `cycle_option` tinyint(1) unsigned NOT NULL, `cycle_count` bigint(21) NOT NULL ) ENGINE=myisam DEFAULT CHARSET=latin1 sequence=1; show create sequence s2; Table Create Table s2 CREATE SEQUENCE `s2` start with 1 minvalue 1 maxvalue 9223372036854775806 increment by 1 cache 1000 nocycle ENGINE=MyISAM drop sequence s2; ########################################### select sequence syntax test ########################################### connection master; create sequence s2; create table t2 (id int); select * from s2; next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count 1 1 9223372036854775806 1 1 1000 0 0 select * from t2; id insert into t2 select next value for s2; commit; select NEXT VALUE for s2; NEXT VALUE for s2 2 select NEXT VALUE for t2; ERROR 42S02: 's_db.t2' is not a SEQUENCE select * from s2, t2; next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count id 1001 1 9223372036854775806 1 1 1000 0 0 1 select * for s2; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 's2' at line 1 select * for s2, t2; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 's2, t2' at line 1 connection master; drop sequence s2; drop table t2; ########################################### support rename, not support truncate ########################################### connection master; create sequence s2; alter table s2 rename to s2_1; rename table s2_1 to s2_2; show create sequence s2_2; Table Create Table s2_2 CREATE SEQUENCE `s2_2` start with 1 minvalue 1 maxvalue 9223372036854775806 increment by 1 cache 1000 nocycle ENGINE=MyISAM select * from s2_2; next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count 1 1 9223372036854775806 1 1 1000 0 0 truncate table s2_2; ERROR HY000: Storage engine SEQUENCE of the table `s_db`.`s2_2` doesn't have this option rename table s2_2 to s2; drop sequence s2; ########################################### all invalid sequence value ########################################### connection master; create sequence s2 start with 1 minvalue 1 maxvalue 100000 increment by 1 cache 10000 cycle; drop sequence s2; create sequence s2 start with 1 minvalue 1 maxvalue 100000 increment by 1 cache 10000 nocycle; drop sequence s2; create sequence s2 start with 1 minvalue 1 maxvalue 100000 increment by 1 nocache nocycle; drop sequence s2; create sequence s2 start with 1 minvalue 5 maxvalue 100000 increment by 1 nocache nocycle; ERROR HY000: Sequence 's_db.s2' has out of range value for options create sequence s2 start with 1 minvalue 5 maxvalue 5 increment by 1 nocache nocycle; ERROR HY000: Sequence 's_db.s2' has out of range value for options create sequence s2 start with 1 minvalue 5 maxvalue 4 increment by 1 nocache nocycle; ERROR HY000: Sequence 's_db.s2' has out of range value for options create sequence s2 start with 1 minvalue 5 maxvalue 4 increment by 0 nocache nocycle; ERROR HY000: Sequence 's_db.s2' has out of range value for options ########################################### global read lock prevent query sequence ########################################### connection master; create sequence s_db.s1; flush table with read lock; select NEXT VALUE for s1; ERROR HY000: Can't execute the query because you have a conflicting read lock unlock tables; drop sequence s_db.s1; ########################################### query cache test ########################################### connection master; flush status; show global variables like 'query_cache_type'; Variable_name Value query_cache_type ON show status like 'Qcache_hits'; Variable_name Value Qcache_hits 0 show status like 'Qcache_inserts'; Variable_name Value Qcache_inserts 0 ########################################### priv test ########################################### connection m_normal_1; create sequence s_db.s1; select NEXT VALUE for s_db.s1; NEXT VALUE for s_db.s1 1 create sequence s_db.s2; drop sequence s_db.s2; connection m_normal_2; select NEXT VALUE for s_db.s1; ERROR 42000: INSERT command denied to user 'normal_2'@'localhost' for table `s_db`.`s1` create sequence s_db.s2; ERROR 42000: CREATE command denied to user 'normal_2'@'localhost' for table `s_db`.`s2` connection m_normal_1; drop sequence s_db.s1; ########################################### run out sequence value ########################################### connection m_normal_1; create sequence s_t start with 1 cache 2 maxvalue 5; create table t(id int); insert into t values(1111); insert into t select next value for s_t; insert into t select next value for s_t; insert into t select next value for s_t; insert into t select next value for s_t; insert into t select next value for s_t; insert into t select next value for s_t; ERROR HY000: Sequence 's_db.s_t' has run out insert into t select next value for s_t; ERROR HY000: Sequence 's_db.s_t' has run out commit; select * from t; id 1111 1 2 3 4 5 connection master; connection slave; connection s_normal_3; select * from t; id 1111 1 2 3 4 5 connection m_normal_1; drop sequence s_t; drop table t; ########################################### read_only prevent query sequence ########################################### connection m_normal_1; create sequence s_db.s1; show global variables like 'read_only'; Variable_name Value read_only OFF select * from s_db.s1; next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count 1 1 9223372036854775806 1 1 1000 0 0 connection master; connection slave; connection s_normal_3; show global variables like 'read_only'; Variable_name Value read_only ON select next value for s_db.s1; ERROR HY000: The MariaDB server is running with the --read-only option so it cannot execute this statement connection m_normal_1; drop sequence s_db.s1; ########################################### update based table ########################################### connection m_normal_1; create sequence s_t start with 1 minvalue 1 maxvalue 20 increment by 1 cache 5 cycle engine=innodb; connection master; connection slave; connection s_normal_3; select * from s_t; next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count 1 1 20 1 1 5 1 0 connection m_normal_1; select next value for s_t; next value for s_t 1 connection master; connection slave; connection s_normal_3; select next_not_cached_value from s_t; next_not_cached_value 6 ------------------------------------------ master ALTER SEQUENCE ------------------------------------------ connection m_normal_1; select next value for s_t; next value for s_t 2 alter sequence s_t restart= 11; select * from s_t; next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count 11 1 20 1 1 5 1 0 connection master; connection slave; ------------------------------------------ show slave nextval; ------------------------------------------ connection s_normal_3; select * from s_t; next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count 11 1 20 1 1 5 1 0 connection m_normal_1; select next value for s_t; next value for s_t 11 connection master; connection slave; connection s_normal_3; select * from s_t; next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count 16 1 20 1 1 5 1 0 ------------------------------------------ update into invalid sequence ------------------------------------------ connection m_normal_1; select next value for s_t; next value for s_t 12 select * from s_t; next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count 16 1 20 1 1 5 1 0 alter sequence s_t minvalue=11 maxvalue=9; ERROR HY000: Sequence 's_db.s_t' has out of range value for options select * from s_t; next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count 16 1 20 1 1 5 1 0 alter sequence s_t restart= 12 start=10 minvalue=11 maxvalue=20; ERROR HY000: Sequence 's_db.s_t' has out of range value for options select * from s_t; next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count 16 1 20 1 1 5 1 0 ------------------------------------------ delete sequence row ------------------------------------------ connection m_normal_1; delete from s_t; ERROR HY000: Storage engine SEQUENCE of the table `s_db`.`s_t` doesn't have this option commit; select next value for s_t; next value for s_t 13 connection m_normal_1; drop sequence s_t; ########################################### test transaction context (innodb) ########################################### ------------------------------------------ transaction table and sequence normal transaction commit ------------------------------------------ connection m_normal_1; create sequence s_1 cache 5 engine=innodb; create table t_1(id int)engine=innodb; begin; insert into t_1 values(1111); insert into t_1 select next value for s_1; insert into t_1 select next value for s_1; insert into t_1 values(2222); commit; select * from t_1; id 1111 1 2 2222 select * from s_1; next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count 6 1 9223372036854775806 1 1 5 0 0 connection master; connection slave; connection s_normal_3; select * from t_1; id 1111 1 2 2222 ------------------------------------------ normal transaction rollback ------------------------------------------ connection m_normal_1; begin; insert into t_1 values(3333); insert into t_1 select next value for s_1; insert into t_1 select next value for s_1; insert into t_1 select next value for s_1; insert into t_1 select next value for s_1; insert into t_1 select next value for s_1; insert into t_1 select next value for s_1; insert into t_1 select next value for s_1; insert into t_1 select next value for s_1; select * from t_1; id 1111 1 2 2222 3333 3 4 5 6 7 8 9 10 rollback; select * from t_1; id 1111 1 2 2222 select * from s_1; next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count 11 1 9223372036854775806 1 1 5 0 0 select next value for s_1; next value for s_1 11 connection master; connection slave; connection s_normal_3; select * from t_1; id 1111 1 2 2222 connection m_normal_1; drop sequence s_1; drop table t_1; ########################################### test transaction context (myisam) ########################################### ------------------------------------------ transaction table and sequence normal transaction commit ------------------------------------------ connection m_normal_1; create sequence s_1 cache 5; create table t_1(id int)engine=myisam; begin; insert into t_1 values(1111); insert into t_1 select next value for s_1; insert into t_1 select next value for s_1; insert into t_1 values(2222); commit; select * from t_1; id 1111 1 2 2222 connection master; connection slave; connection s_normal_3; select * from t_1; id 1111 1 2 2222 ------------------------------------------ normal transaction rollback ------------------------------------------ connection m_normal_1; begin; insert into t_1 values(3333); insert into t_1 select next value for s_1; insert into t_1 select next value for s_1; insert into t_1 select next value for s_1; insert into t_1 select next value for s_1; insert into t_1 select next value for s_1; insert into t_1 select next value for s_1; insert into t_1 select next value for s_1; insert into t_1 select next value for s_1; select * from t_1; id 1111 1 2 2222 3333 3 4 5 6 7 8 9 10 rollback; Warnings: Warning 1196 Some non-transactional changed tables couldn't be rolled back select * from t_1; id 1111 1 2 2222 3333 3 4 5 6 7 8 9 10 select next value for s_1; next value for s_1 11 connection master; connection slave; connection s_normal_3; select * from t_1; id 1111 1 2 2222 3333 3 4 5 6 7 8 9 10 connection m_normal_1; drop sequence s_1; drop table t_1; ########################################### close binlog ########################################### connection m_normal_1; create sequence s1 cache 2; select next value for s1; next value for s1 1 select next value for s1; next value for s1 2 select next value for s1; next value for s1 3 select next value for s1; next value for s1 4 commit; select * from s1; next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count 5 1 9223372036854775806 1 1 2 0 0 connection master; connection slave; select * from s1; next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count 5 1 9223372036854775806 1 1 2 0 0 ------------------------------------------ close session binlog. ------------------------------------------ connection master; set session sql_log_bin=off; select next value for s1; next value for s1 5 select next value for s1; next value for s1 6 select next value for s1; next value for s1 7 select next value for s1; next value for s1 8 set session sql_log_bin=on; select * from s1; next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count 9 1 9223372036854775806 1 1 2 0 0 connection master; connection slave; select * from s1; next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count 5 1 9223372036854775806 1 1 2 0 0 connection master; select next value for s1; next value for s1 9 select * from s1; next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count 11 1 9223372036854775806 1 1 2 0 0 connection slave; select * from s1; next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count 11 1 9223372036854775806 1 1 2 0 0 connection master; drop sequence s1; ########################################### statement binlog ########################################### ------------------------------------------ set binlog_format=statement ------------------------------------------ connection master; set session binlog_format=statement; select @@session.binlog_format; @@session.binlog_format STATEMENT create sequence s1 cache 2; select next value for s1; ERROR HY000: Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logging. set session binlog_format=row; select next value for s1; next value for s1 1 connection master; connection slave; select * from s1; next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count 3 1 9223372036854775806 1 1 2 0 0 connection m_normal_1; drop sequence s1; ------------------------------------------ set binlog_format=mixed ------------------------------------------ connection master; set session binlog_format=mixed; select @@session.binlog_format; @@session.binlog_format MIXED create sequence s1 cache 2; select next value for s1; next value for s1 1 set session binlog_format=row; select next value for s1; next value for s1 2 select * from s1; next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count 3 1 9223372036854775806 1 1 2 0 0 connection master; connection slave; select * from s1; next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count 3 1 9223372036854775806 1 1 2 0 0 connection m_normal_1; drop sequence s1; connection master; connection slave; ########################################### test savepoint ########################################### connection master; set session binlog_format=row; create sequence s1 cache 2; create table t1(id int)engine=innodb; begin; insert into t1 values(1111); savepoint sp1; insert into t1 select next value for s1; insert into t1 select next value for s1; insert into t1 select next value for s1; insert into t1 values(2222); select * from t1; id 1111 1 2 3 2222 rollback to sp1; select * from t1; id 1111 select next value for s1; next value for s1 4 commit; drop sequence s1; drop table t1; connection master; connection slave; ########################################### create as ########################################### connection m_normal_1; create sequence s1 cache 2; create table t as select * from s1; select * from t; next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count 1 1 9223372036854775806 1 1 2 0 0 drop table t; create table t as select next value for s1; select * from t; next value for s1 1 drop table t; drop sequence s1; connection master; connection slave; ########################################### test proc ########################################### connection m_normal_1; create table t(id int)engine=innodb; create procedure p1() begin create sequence s1 cache 2; end// create procedure p2() begin insert into t select next value for s1; commit; end// call p1(); call p2(); call p2(); call p2(); call p2(); select * from t; id 1 2 3 4 connection master; connection slave; select * from t; id 1 2 3 4 connection m_normal_1; drop table t; drop sequence s1; drop procedure p1; drop procedure p2; ########################################### test trigger ########################################### connection m_normal_1; create sequence s1 cache 2; create table t1(id int)engine=innodb; create table t2(id int)engine=innodb; CREATE TRIGGER tri_1 before INSERT ON t2 FOR EACH ROW BEGIN INSERT INTO t1 select next value for s1; END// begin; insert into t2 values(1111); insert into t2 values(1111); insert into t2 values(1111); insert into t2 values(1111); select * from t2; id 1111 1111 1111 1111 select * from t1; id 1 2 3 4 rollback; select * from t2; id select * from t1; id select next value for s1; next value for s1 5 drop trigger tri_1; drop table t1; drop table t2; drop sequence s1; ########################################### test function ########################################### connection m_normal_1; create sequence s1 cache 2; create table t1(id int)engine=innodb; CREATE function f1() returns int BEGIN INSERT INTO t1 select next value for s1; return (1); END// begin; select f1(); f1() 1 select f1(); f1() 1 select f1(); f1() 1 select f1(); f1() 1 select * from t1; id 1 2 3 4 rollback; select * from t1; id select next value for s1; next value for s1 5 drop function f1; drop table t1; drop sequence s1; ########################################### test value boundary ########################################### connection m_normal_1; ------------------------------------------ cycle_count increment by cycle_count ------------------------------------------ create sequence s1 start with 5 minvalue 2 maxvalue 7 cache 1 cycle; select next value for s1; next value for s1 5 select next value for s1; next value for s1 6 select next value for s1; next value for s1 7 select next value for s1; next value for s1 2 select next value for s1; next value for s1 3 drop sequence s1; create sequence s1 start with 5 minvalue 2 maxvalue 7 cache 10 nocycle; select next value for s1; next value for s1 5 select next value for s1; next value for s1 6 select next value for s1; next value for s1 7 select next value for s1; ERROR HY000: Sequence 's_db.s1' has run out select * from s1; next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count 8 2 7 5 1 10 0 0 drop sequence s1; create sequence s1 start with 2 minvalue 1 maxvalue 3 increment by 3 nocache cycle; select next value for s1; next value for s1 2 select next_not_cached_value,cycle_count from s1; next_not_cached_value cycle_count 4 0 select next value for s1; next value for s1 1 select next_not_cached_value,cycle_count from s1; next_not_cached_value cycle_count 4 1 select next value for s1; next value for s1 1 select next_not_cached_value,cycle_count from s1; next_not_cached_value cycle_count 4 2 select next value for s1; next value for s1 1 select next_not_cached_value,cycle_count from s1; next_not_cached_value cycle_count 4 3 select next value for s1; next value for s1 1 select next_not_cached_value,cycle_count from s1; next_not_cached_value cycle_count 4 4 drop sequence s1; create sequence s1 start with 2 minvalue 1 maxvalue 3 increment by 3 cache 2 nocycle; select next value for s1; next value for s1 2 select next value for s1; ERROR HY000: Sequence 's_db.s1' has run out drop sequence s1; ------------------------------------------ beyond ulonglong maxvalue ------------------------------------------ create sequence s1 start with 9223372036854775805 minvalue 9223372036854775804 maxvalue 9223372036854775806 cache 1 cycle; select next value for s1, cycle_count from s1; next value for s1 cycle_count 9223372036854775805 0 select next value for s1, cycle_count from s1; next value for s1 cycle_count 9223372036854775806 0 select next value for s1, cycle_count from s1; next value for s1 cycle_count 9223372036854775804 0 select next value for s1, cycle_count from s1; next value for s1 cycle_count 9223372036854775805 1 select next value for s1, cycle_count from s1; next value for s1 cycle_count 9223372036854775806 1 select next value for s1, cycle_count from s1; next value for s1 cycle_count 9223372036854775804 1 select next value for s1, cycle_count from s1; next value for s1 cycle_count 9223372036854775805 2 select next value for s1, cycle_count from s1; next value for s1 cycle_count 9223372036854775806 2 select next value for s1, cycle_count from s1; next value for s1 cycle_count 9223372036854775804 2 select next value for s1, cycle_count from s1; next value for s1 cycle_count 9223372036854775805 3 drop sequence s1; create sequence s1 start with 9223372036854775805 minvalue 9223372036854775804 maxvalue 9223372036854775806 cache 10 cycle; select next value for s1, cycle_count from s1; next value for s1 cycle_count 9223372036854775805 0 select next value for s1, cycle_count from s1; next value for s1 cycle_count 9223372036854775806 0 select next value for s1, cycle_count from s1; next value for s1 cycle_count 9223372036854775804 0 select next value for s1, cycle_count from s1; next value for s1 cycle_count 9223372036854775805 1 select next value for s1, cycle_count from s1; next value for s1 cycle_count 9223372036854775806 1 select next value for s1, cycle_count from s1; next value for s1 cycle_count 9223372036854775804 1 select next value for s1, cycle_count from s1; next value for s1 cycle_count 9223372036854775805 2 select next value for s1, cycle_count from s1; next value for s1 cycle_count 9223372036854775806 2 select next value for s1, cycle_count from s1; next value for s1 cycle_count 9223372036854775804 2 select next value for s1, cycle_count from s1; next value for s1 cycle_count 9223372036854775805 3 drop sequence s1; ########################################### test default() ########################################### connection master; CREATE SEQUENCE s1 nocache engine=myisam; CREATE table t1 (a int default next value for s1, b int); insert into t1 (b) values (1),(2); select default(a) from t1; default(a) 3 4 select * from t1; a b 1 1 2 2 select * from s1; next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count 5 1 9223372036854775806 1 1 0 0 0 connection slave; connection s_normal_3; select * from t1; a b 1 1 2 2 select * from s1; next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count 5 1 9223372036854775806 1 1 0 0 0 connection master; drop table t1,s1; connection master; drop database s_db; drop user normal_1@'%'; drop user normal_2@'%'; drop user normal_3@'%'; drop user normal_4@'%'; include/rpl_end.inc