create sequence s; call mtr.add_suppression("ha_myisam"); call mtr.add_suppression("Checking table"); check table s; Table Op Msg_type Msg_text test.s check error Size of datafile is: 4 Should be: 58 test.s check error Corrupt drop table s; create sequence s; insert into s values (3,1,9223372036854775806,1,1,1000,0,0); select * from s; next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count 3 1 9223372036854775806 1 1 1000 0 0 check table s; Table Op Msg_type Msg_text test.s check status OK select nextval(s); nextval(s) 3 drop sequence s; CREATE SEQUENCE s; ALTER TABLE s sequence=0; insert into s values (3,1,9223372036854775806,1,1,1000,0,0); FLUSH TABLES; CHECK TABLE s; Table Op Msg_type Msg_text test.s check Warning More than one row in the table test.s check status OK DROP SEQUENCE s; CREATE SEQUENCE s; ALTER TABLE s sequence=0; delete from s; FLUSH TABLES; CHECK TABLE s; Table Op Msg_type Msg_text test.s check Error Fewer than one row in the table test.s check error Corrupt DROP SEQUENCE s; CREATE SEQUENCE s; ALTER TABLE s sequence=0; update s set minimum_value=200, maximum_value=100; FLUSH TABLES; CHECK TABLE s; Table Op Msg_type Msg_text test.s check Error Sequence 'test.s' has out of range value for options test.s check error Corrupt DROP SEQUENCE s; create sequence s minvalue 13 maxvalue 15 increment by 4; check table s; Table Op Msg_type Msg_text test.s check status OK select nextval(s); nextval(s) 13 check table s; Table Op Msg_type Msg_text test.s check Warning Sequence 'test.s' has run out test.s check status OK alter sequence s cycle; check table s; Table Op Msg_type Msg_text test.s check status OK alter sequence s nocycle; check table s; Table Op Msg_type Msg_text test.s check Warning Sequence 'test.s' has run out test.s check status OK alter sequence s increment by 1; check table s; Table Op Msg_type Msg_text test.s check Warning Sequence 'test.s' has run out test.s check status OK alter sequence s increment by 4; select nextval(s); ERROR HY000: Sequence 'test.s' has run out alter sequence s cycle; check table s; Table Op Msg_type Msg_text test.s check status OK alter sequence s maxvalue 23 nocycle; check table s; Table Op Msg_type Msg_text test.s check status OK alter sequence s maxvalue 15; check table s; Table Op Msg_type Msg_text test.s check Warning Sequence 'test.s' has run out test.s check status OK drop sequence s; create sequence s minvalue 13 maxvalue 20 increment by 1; select nextval(s); nextval(s) 13 check table s; Table Op Msg_type Msg_text test.s check status OK select nextval(s); nextval(s) 14 drop sequence s; create sequence s minvalue 13 maxvalue 20 increment by 1; select nextval(s); nextval(s) 13 alter table s sequence=0; alter table s sequence=1; check table s; Table Op Msg_type Msg_text test.s check Warning Sequence 'test.s' has run out test.s check status OK select nextval(s); ERROR HY000: Sequence 'test.s' has run out drop sequence s; create sequence s; update s set minimum_value=500, maximum_value=200; ERROR HY000: Storage engine SEQUENCE of the table `test`.`s` doesn't have this option drop sequence s; # # MDEV-35866 mariadb-check does not return warning for incorrect sequence with engine InnoDB # CREATE SEQUENCE s engine=innodb; ALTER TABLE s sequence=0; connect prevent_purge,localhost,root; START TRANSACTION WITH CONSISTENT SNAPSHOT; connection default; delete from s; FLUSH TABLES; CHECK TABLE s; Table Op Msg_type Msg_text test.s check Warning InnoDB: Encountered delete marked record in sequence table test/s. test.s check error Corrupt disconnect prevent_purge; DROP SEQUENCE s; CREATE SEQUENCE s engine=innodb; CHECK TABLE s; Table Op Msg_type Msg_text test.s check status OK DROP SEQUENCE s; CREATE SEQUENCE s engine=innodb; ALTER TABLE s sequence=0; insert into s values (2,1,9223372036854775806,1,1,1000,0,0); FLUSH TABLES; CHECK TABLE s; Table Op Msg_type Msg_text test.s check Warning InnoDB: Should have only one record in sequence table test/s. But it has 2 records. test.s check error Corrupt DROP SEQUENCE s;