2008-08-20 16:18:33 -06:00
|
|
|
-- source include/have_innodb.inc
|
|
|
|
# embedded server ignores 'delayed', so skip this
|
|
|
|
-- source include/not_embedded.inc
|
|
|
|
|
|
|
|
--disable_warnings
|
|
|
|
drop table if exists t1;
|
|
|
|
--enable_warnings
|
|
|
|
|
|
|
|
#
|
|
|
|
# Bug #34335
|
|
|
|
#
|
|
|
|
CREATE TABLE t1 (c1 BIGINT PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=InnoDB;
|
|
|
|
INSERT INTO t1 VALUES (9223372036854775807, null);
|
|
|
|
-- error ER_DUP_ENTRY,1062
|
|
|
|
INSERT INTO t1 (c2) VALUES ('innodb');
|
|
|
|
SELECT * FROM t1;
|
|
|
|
DROP TABLE t1;
|
|
|
|
#
|
|
|
|
## Test AUTOINC overflow
|
|
|
|
##
|
|
|
|
|
|
|
|
# TINYINT
|
|
|
|
CREATE TABLE t1 (c1 TINYINT PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=InnoDB;
|
|
|
|
INSERT INTO t1 VALUES (127, null);
|
|
|
|
-- error ER_DUP_ENTRY,1062
|
|
|
|
-- warning ER_WARN_DATA_OUT_OF_RANGE,1264
|
|
|
|
INSERT INTO t1 (c2) VALUES ('innodb');
|
|
|
|
SELECT * FROM t1;
|
|
|
|
DROP TABLE t1;
|
|
|
|
|
|
|
|
CREATE TABLE t1 (c1 TINYINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=InnoDB;
|
|
|
|
INSERT INTO t1 VALUES (255, null);
|
|
|
|
-- error ER_DUP_ENTRY,1062
|
|
|
|
-- warning ER_WARN_DATA_OUT_OF_RANGE,1264
|
|
|
|
INSERT INTO t1 (c2) VALUES ('innodb');
|
|
|
|
SELECT * FROM t1;
|
|
|
|
DROP TABLE t1;
|
|
|
|
#
|
|
|
|
# SMALLINT
|
|
|
|
#
|
|
|
|
CREATE TABLE t1 (c1 SMALLINT PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=InnoDB;
|
|
|
|
INSERT INTO t1 VALUES (32767, null);
|
|
|
|
-- error ER_DUP_ENTRY,1062
|
|
|
|
-- warning ER_WARN_DATA_OUT_OF_RANGE,1264
|
|
|
|
INSERT INTO t1 (c2) VALUES ('innodb');
|
|
|
|
SELECT * FROM t1;
|
|
|
|
DROP TABLE t1;
|
|
|
|
|
|
|
|
CREATE TABLE t1 (c1 SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=InnoDB;
|
|
|
|
INSERT INTO t1 VALUES (65535, null);
|
|
|
|
-- error ER_DUP_ENTRY,1062
|
|
|
|
-- warning ER_WARN_DATA_OUT_OF_RANGE,1264
|
|
|
|
INSERT INTO t1 (c2) VALUES ('innodb');
|
|
|
|
SELECT * FROM t1;
|
|
|
|
DROP TABLE t1;
|
|
|
|
#
|
|
|
|
# MEDIUMINT
|
|
|
|
#
|
|
|
|
CREATE TABLE t1 (c1 MEDIUMINT PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=InnoDB;
|
|
|
|
INSERT INTO t1 VALUES (8388607, null);
|
|
|
|
-- error ER_DUP_ENTRY,1062
|
|
|
|
-- warning ER_WARN_DATA_OUT_OF_RANGE,1264
|
|
|
|
INSERT INTO t1 (c2) VALUES ('innodb');
|
|
|
|
SELECT * FROM t1;
|
|
|
|
DROP TABLE t1;
|
|
|
|
|
|
|
|
CREATE TABLE t1 (c1 MEDIUMINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=InnoDB;
|
|
|
|
INSERT INTO t1 VALUES (16777215, null);
|
|
|
|
-- error ER_DUP_ENTRY,1062
|
|
|
|
-- warning ER_WARN_DATA_OUT_OF_RANGE,1264
|
|
|
|
INSERT INTO t1 (c2) VALUES ('innodb');
|
|
|
|
SELECT * FROM t1;
|
|
|
|
DROP TABLE t1;
|
|
|
|
#
|
|
|
|
# INT
|
|
|
|
#
|
|
|
|
CREATE TABLE t1 (c1 INT PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=InnoDB;
|
|
|
|
INSERT INTO t1 VALUES (2147483647, null);
|
|
|
|
-- error ER_DUP_ENTRY,1062
|
|
|
|
-- warning ER_WARN_DATA_OUT_OF_RANGE,1264
|
|
|
|
INSERT INTO t1 (c2) VALUES ('innodb');
|
|
|
|
SELECT * FROM t1;
|
|
|
|
DROP TABLE t1;
|
|
|
|
|
|
|
|
CREATE TABLE t1 (c1 INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=InnoDB;
|
|
|
|
INSERT INTO t1 VALUES (4294967295, null);
|
|
|
|
-- error ER_DUP_ENTRY,1062
|
|
|
|
INSERT INTO t1 (c2) VALUES ('innodb');
|
|
|
|
SELECT * FROM t1;
|
|
|
|
DROP TABLE t1;
|
|
|
|
#
|
|
|
|
# BIGINT
|
|
|
|
#
|
|
|
|
CREATE TABLE t1 (c1 BIGINT PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=InnoDB;
|
|
|
|
INSERT INTO t1 VALUES (9223372036854775807, null);
|
|
|
|
-- error ER_DUP_ENTRY,1062
|
|
|
|
-- warning ER_WARN_DATA_OUT_OF_RANGE,1264
|
|
|
|
INSERT INTO t1 (c2) VALUES ('innodb');
|
|
|
|
SELECT * FROM t1;
|
|
|
|
DROP TABLE t1;
|
|
|
|
|
|
|
|
CREATE TABLE t1 (c1 BIGINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=InnoDB;
|
|
|
|
INSERT INTO t1 VALUES (18446744073709551615, null);
|
|
|
|
-- error ER_AUTOINC_READ_FAILED,1467
|
|
|
|
INSERT INTO t1 (c2) VALUES ('innodb');
|
|
|
|
SELECT * FROM t1;
|
|
|
|
DROP TABLE t1;
|
|
|
|
|
|
|
|
#
|
|
|
|
# Bug 37531
|
|
|
|
# After truncate, auto_increment behaves incorrectly for InnoDB
|
|
|
|
#
|
|
|
|
CREATE TABLE t1(c1 INT PRIMARY KEY AUTO_INCREMENT) ENGINE=InnoDB;
|
|
|
|
INSERT INTO t1 VALUES (1), (2), (3);
|
|
|
|
INSERT INTO t1 VALUES (NULL), (NULL), (NULL);
|
|
|
|
SELECT c1 FROM t1;
|
|
|
|
SHOW CREATE TABLE t1;
|
|
|
|
TRUNCATE TABLE t1;
|
|
|
|
SHOW CREATE TABLE t1;
|
|
|
|
INSERT INTO t1 VALUES (1), (2), (3);
|
|
|
|
INSERT INTO t1 VALUES (NULL), (NULL), (NULL);
|
|
|
|
SELECT c1 FROM t1;
|
|
|
|
SHOW CREATE TABLE t1;
|
|
|
|
DROP TABLE t1;
|
|
|
|
|
|
|
|
#
|
|
|
|
# Deleting all records should not reset the AUTOINC counter.
|
|
|
|
#
|
|
|
|
CREATE TABLE t1(c1 INT PRIMARY KEY AUTO_INCREMENT) ENGINE=InnoDB;
|
|
|
|
INSERT INTO t1 VALUES (1), (2), (3);
|
|
|
|
INSERT INTO t1 VALUES (NULL), (NULL), (NULL);
|
|
|
|
SELECT c1 FROM t1;
|
|
|
|
SHOW CREATE TABLE t1;
|
|
|
|
DELETE FROM t1;
|
|
|
|
SHOW CREATE TABLE t1;
|
|
|
|
INSERT INTO t1 VALUES (1), (2), (3);
|
|
|
|
INSERT INTO t1 VALUES (NULL), (NULL), (NULL);
|
|
|
|
SELECT c1 FROM t1;
|
|
|
|
SHOW CREATE TABLE t1;
|
|
|
|
DROP TABLE t1;
|
|
|
|
|
2008-12-14 12:29:59 -07:00
|
|
|
#
|
|
|
|
# Bug 38839
|
|
|
|
# Reset the last value generated at end of statement
|
|
|
|
#
|
|
|
|
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 (NULL,8);
|
|
|
|
SELECT * FROM t1;
|
|
|
|
DROP TABLE t1;
|
|
|
|
# Bug 38839 -- same as above but for multi value insert
|
|
|
|
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), (NULL, 8);
|
|
|
|
INSERT INTO t1 VALUES (NULL,9);
|
|
|
|
SELECT * FROM t1;
|
|
|
|
DROP TABLE t1;
|