summaryrefslogtreecommitdiff
path: root/mysql-test/suite/innodb/t/innodb-autoinc.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/suite/innodb/t/innodb-autoinc.test')
-rw-r--r--mysql-test/suite/innodb/t/innodb-autoinc.test22
1 files changed, 20 insertions, 2 deletions
diff --git a/mysql-test/suite/innodb/t/innodb-autoinc.test b/mysql-test/suite/innodb/t/innodb-autoinc.test
index 888c73bacdf..17df8877ad4 100644
--- a/mysql-test/suite/innodb/t/innodb-autoinc.test
+++ b/mysql-test/suite/innodb/t/innodb-autoinc.test
@@ -139,7 +139,7 @@ DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (c1 INT AUTO_INCREMENT, c2 INT, PRIMARY KEY(c1)) ENGINE=InnoDB;
INSERT INTO t1 VALUES (NULL, 1);
DELETE FROM t1 WHERE c1 = 1;
-INSERT INTO t1 VALUES (2,1);
+INSERT INTO t1 VALUES (2,1);
INSERT INTO t1 VALUES (NULL,8);
SELECT * FROM t1;
DROP TABLE t1;
@@ -639,7 +639,7 @@ SHOW CREATE TABLE t1;
DROP TABLE t1;
-# Check if we handl offset > column max value properly
+# Check if we handle offset > column max value properly
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=256;
SHOW VARIABLES LIKE "%auto_inc%";
# TINYINT
@@ -648,3 +648,21 @@ INSERT INTO t1 VALUES (1, NULL);
SHOW CREATE TABLE t1;
SELECT * FROM t1;
DROP TABLE t1;
+
+# Check if we handle the case where a current value is greater than the max
+# of the column. IMO, this should not be allowed and the assertion that fails
+# is actually an invariant.
+SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
+SHOW VARIABLES LIKE "%auto_inc%";
+# TINYINT
+CREATE TABLE t1 (c1 INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (2147483648, 'a');
+SHOW CREATE TABLE t1;
+SELECT * FROM t1;
+ALTER TABLE t1 CHANGE c1 c1 INT;
+SHOW CREATE TABLE t1;
+INSERT INTO t1(c2) VALUES('b');
+SELECT * FROM t1;
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+