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

MDEV-24610 MEMORY SE: check overflow in info calls with HA_STATUS_AUTO

This commit is contained in:
Yuchen Pei
2024-05-20 09:44:47 +10:00
parent 266495b93e
commit c4020b541c
3 changed files with 51 additions and 1 deletions

View File

@@ -0,0 +1,24 @@
CREATE TABLE t (c BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY) ENGINE=MEMORY PARTITION BY KEY();
INSERT INTO t VALUES (18446744073709551615);
select * from t;
c
18446744073709551615
drop table t;
CREATE TABLE t (c BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY) ENGINE=MEMORY;
INSERT INTO t VALUES (18446744073709551615);
ALTER TABLE t PARTITION BY KEY();
INSERT INTO t VALUES (1);
select * from t;
c
18446744073709551615
1
drop table t;
CREATE TABLE t (c BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY) ENGINE=MEMORY;
INSERT INTO t VALUES (18446744073709551615);
ALTER TABLE t PARTITION BY KEY();
INSERT INTO t VALUES (NULL);
ERROR HY000: Failed to read auto-increment value from storage engine
select * from t;
c
18446744073709551615
drop table t;

View File

@@ -0,0 +1,22 @@
--source include/have_innodb.inc
--source include/have_partition.inc
CREATE TABLE t (c BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY) ENGINE=MEMORY PARTITION BY KEY();
INSERT INTO t VALUES (18446744073709551615);
select * from t;
drop table t;
CREATE TABLE t (c BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY) ENGINE=MEMORY;
INSERT INTO t VALUES (18446744073709551615);
ALTER TABLE t PARTITION BY KEY();
INSERT INTO t VALUES (1);
select * from t;
drop table t;
CREATE TABLE t (c BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY) ENGINE=MEMORY;
INSERT INTO t VALUES (18446744073709551615);
ALTER TABLE t PARTITION BY KEY();
--error ER_AUTOINC_READ_FAILED
INSERT INTO t VALUES (NULL);
select * from t;
drop table t;