1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

MDEV-15352 AUTO_INCREMENT breaks after updating a column value to a negative number

This commit is contained in:
Alexander Barkov
2018-06-14 13:13:23 +04:00
parent 23ced2f846
commit 2cdb483bc4
11 changed files with 624 additions and 46 deletions

View File

@@ -0,0 +1,29 @@
DELIMITER $$;
CREATE PROCEDURE autoinc_mdev15353_one(engine VARCHAR(64), t VARCHAR(64))
BEGIN
DECLARE query TEXT DEFAULT 'CREATE TABLE t1 ('
' id TTT NOT NULL AUTO_INCREMENT,'
' name CHAR(30) NOT NULL,'
' PRIMARY KEY (id)) ENGINE=EEE';
EXECUTE IMMEDIATE REPLACE(REPLACE(query,'TTT', t), 'EEE', engine);
SHOW CREATE TABLE t1;
INSERT INTO t1 (name) VALUES ('dog');
SELECT * FROM t1;
UPDATE t1 SET id=-1 WHERE id=1;
SELECT * FROM t1;
INSERT INTO t1 (name) VALUES ('cat');
SELECT * FROM t1;
DROP TABLE t1;
END;
$$
DELIMITER ;$$
CALL autoinc_mdev15353_one(@engine, 'tinyint');
CALL autoinc_mdev15353_one(@engine, 'smallint');
CALL autoinc_mdev15353_one(@engine, 'mediumint');
CALL autoinc_mdev15353_one(@engine, 'int');
CALL autoinc_mdev15353_one(@engine, 'bigint');
CALL autoinc_mdev15353_one(@engine, 'float');
CALL autoinc_mdev15353_one(@engine, 'double');
DROP PROCEDURE autoinc_mdev15353_one;