mariadb/mysql-test/suite/innodb/t/insert_into_empty_notembedded.test
Thirunarayanan Balathandayuthapani cb384d0d04 MDEV-32008 auto_increment value on table increments by one after restart
- This issue caused by commit 4700f2ac70f8c79f2ac1968b6b59d18716f492bf(MDEV-30796)
During bulk insert operation, InnoDB wrongly stores the next autoincrement
value as current autoincrement value. So update the current autoincrement
value rather than next auto increment value.
2023-08-29 10:37:08 +05:30

60 lines
1.8 KiB
Text

--source include/not_embedded.inc
--source include/have_innodb.inc
--source include/innodb_page_size.inc
--source include/maybe_debug.inc
--echo #
--echo # Start of 10.6 tests
--echo #
--echo #
--echo # MDEV-27214 Import with disabled keys corrupts meta-data like rows, indexes, ...
--echo #
CREATE DATABASE db1;
CREATE TABLE db1.t1 (id int, a int,PRIMARY KEY (id)) ENGINE=InnoDB
STATS_PERSISTENT=1 STATS_AUTO_RECALC=1;
INSERT INTO db1.t1 VALUES (1,2),(2,3),(3,4);
--let $file = $MYSQLTEST_VARDIR/tmp/dump.sql
--exec $MYSQL_DUMP db1 t1 >$file
DROP DATABASE IF EXISTS db1;
CREATE DATABASE db1;
--exec $MYSQL db1 < $file
--remove_file $file
--echo # Wait till statistics update after bulk insert operation
let $wait_condition= select n_rows > 0 from mysql.innodb_table_stats
where database_name='db1' and table_name='t1';
source include/wait_condition.inc;
SELECT TABLE_ROWS, AVG_ROW_LENGTH>0 FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME='t1' AND TABLE_SCHEMA='db1';
OPTIMIZE TABLE db1.t1;
--echo # Wait till statistics update after bulk insert operation
let $wait_condition= select n_rows > 0 from mysql.innodb_table_stats
where database_name='db1' and table_name='t1';
source include/wait_condition.inc;
SELECT TABLE_ROWS, AVG_ROW_LENGTH>0 FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME='t1' AND TABLE_SCHEMA='db1';
DROP DATABASE db1;
--echo #
--echo # End of 10.6 tests
--echo #
SET foreign_key_checks=0, unique_checks=0;
--echo #
--echo # MDEV-30796 Auto_increment values not updated after bulk
--echo # insert operation
--echo #
CREATE TABLE t1(f1 INT NOT NULL AUTO_INCREMENT,
f2 INT NOT NULL, PRIMARY KEY(f1))ENGINE=InnoDB;
INSERT INTO t1 VALUES(1, 2), (25, 3), (2, 4);
SHOW CREATE TABLE t1;
--source include/restart_mysqld.inc
SHOW CREATE TABLE t1;
INSERT INTO t1(f2) VALUES(5);
SELECT max(f1) FROM t1;
DROP TABLE t1;
--echo # End of 10.9 tests