mariadb/mysql-test/suite/sql_sequence/mysqldump.test
Oleksandr Byelkin c207f04ecc MDEV-21785: sequences used as default by other table not dumped in right order by mysqldump
Dump sequences first.

This atch made to keep it small and
to keep number of queries to the server the same.

Order of tables in a dump can not be changed
(except sequences first) because mysql_list_tables
uses SHOW TABLES and I used SHOW FULL TABLES.
2021-01-26 10:41:02 +01:00

37 lines
992 B
Text

#
# Testing mysqldump of sequences
#
# Embedded server doesn't support external clients
--source include/not_embedded.inc
--source include/have_aria.inc
--source include/have_innodb.inc
CREATE SEQUENCE a1 engine=aria;
CREATE TABLE t1(a INT, KEY (a)) KEY_BLOCK_SIZE=1024;
insert into t1 values (1),(2);
CREATE SEQUENCE x1 engine=innodb;
--echo # dump whole database
--exec $MYSQL_DUMP --compact test
--echo # dump by tables order 1
--exec $MYSQL_DUMP --compact --tables test t1 a1 x1
--echo # dump by tables order 2
--exec $MYSQL_DUMP --compact --tables test a1 t1 x1
--echo # dump by tables only tables
--exec $MYSQL_DUMP --compact --tables test t1
--echo # dump by tables only sequences
--exec $MYSQL_DUMP --compact --tables test a1 x1
--echo # end of dumps
DROP TABLE a1,t1,x1;
#
# MDEV-12887 UT_LIST_GET_LEN(trx->lock.trx_locks) == 0 when mysqldump sequence
#
set default_storage_engine=InnoDB;
create sequence t1;
LOCK TABLES t1 READ;
SELECT * FROM t1;
unlock tables;
drop table t1;