mirror of
https://github.com/MariaDB/server.git
synced 2025-11-25 17:25:02 +03:00
dict_table_rename_in_cache(), dict_table_get_highest_foreign_id(): Reserve sufficient space for the fkid[] buffer, and ensure that the fkid[] will be NUL-terminated. The fkid[] must accommodate both the database name (which is already encoded in my_charset_filename) and the constraint name (which must be converted to my_charset_filename) so that we can check if it is in the format databasename/tablename_ibfk_1 (all encoded in my_charset_filename).
32 lines
2.1 KiB
Plaintext
32 lines
2.1 KiB
Plaintext
#
|
|
# MDEV-28980 InnoDB: Failing assertion: len <= MAX_TABLE_NAME_LEN
|
|
#
|
|
CREATE TABLE t (a INT PRIMARY KEY) ENGINE=InnoDB;
|
|
CREATE DATABASE `d255`;
|
|
CREATE TABLE `d255`.`d255`
|
|
(a INT PRIMARY KEY, FOREIGN KEY(a) REFERENCES test.t(a)) ENGINE=InnoDB;
|
|
ERROR HY000: Long database name and identifier for object resulted in path length exceeding 512 characters. Path: './@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023/@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@
|
|
CREATE TABLE `d255`.`_##################################################`
|
|
(a INT PRIMARY KEY, FOREIGN KEY(a) REFERENCES test.t(a)) ENGINE=InnoDB;
|
|
ERROR HY000: Long database name and identifier for object resulted in path length exceeding 512 characters. Path: './@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023/_@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023@0023
|
|
CREATE TABLE `d255`.`##################################################`
|
|
(a INT PRIMARY KEY, FOREIGN KEY(a) REFERENCES test.t(a)) ENGINE=InnoDB;
|
|
#
|
|
# MDEV-29258 Failing assertion for name length on RENAME TABLE
|
|
#
|
|
CREATE TABLE `d255`.`d245` (x INT) ENGINE=InnoDB;
|
|
DROP TABLE `d255`.`d250`;
|
|
RENAME TABLE `d250#`.`d245` TO `d250#`.`d250`;
|
|
RENAME TABLE `d255`.`d250` TO a;
|
|
DROP TABLE a,t;
|
|
#
|
|
# MDEV-29409 Buffer overflow in my_wc_mb_filename() on RENAME TABLE
|
|
#
|
|
CREATE TABLE `d255`.t(a INT PRIMARY KEY)ENGINE=InnoDB;
|
|
CREATE TABLE `d255`.u(a INT PRIMARY KEY,
|
|
CONSTRAINT `d320` FOREIGN KEY (a) REFERENCES `d255`.t (a)) ENGINE=InnoDB;
|
|
RENAME TABLE `d255`.u TO u;
|
|
DROP TABLE u;
|
|
DROP DATABASE `d255`;
|
|
# End of 10.3 tests
|