mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
MDEV-35598 foreign key error is unnecessary truncated
truncate it at 512 bytes (max allowed by the protocol), not 192
This commit is contained in:
@@ -243,3 +243,25 @@ Level Code Message
|
|||||||
Warning 140 InnoDB: PAGE_COMPRESSED table can't have ROW_TYPE=COMPRESSED
|
Warning 140 InnoDB: PAGE_COMPRESSED table can't have ROW_TYPE=COMPRESSED
|
||||||
Error 1005 Can't create table `test`.`t1` (errno: 140 "Wrong create options")
|
Error 1005 Can't create table `test`.`t1` (errno: 140 "Wrong create options")
|
||||||
Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
|
Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
|
||||||
|
# End of 10.5 tests
|
||||||
|
#
|
||||||
|
# MDEV-35598 foreign key error is unnecessary truncated
|
||||||
|
#
|
||||||
|
set names utf8;
|
||||||
|
create table t1яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш
|
||||||
|
(f1яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш int not null primary key,
|
||||||
|
f2яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш int not null
|
||||||
|
) engine=innodb;
|
||||||
|
create table t2яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш
|
||||||
|
(f1яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш varchar(100),
|
||||||
|
f2яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш int not null,
|
||||||
|
index i2яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш
|
||||||
|
(f2яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш)
|
||||||
|
) engine=innodb;
|
||||||
|
insert t1яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш values(99, 2);
|
||||||
|
alter table t2яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш add foreign key(f2яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш) references t1яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш(f1яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш);
|
||||||
|
insert t2яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш values('g', 3);
|
||||||
|
ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t2яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш`, CONSTRAINT `t2яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш_ibfk_1` FOREIGN KEY (`f2яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш`) REFERENCES `t1яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш` (`f1яяяяяяяяяяььььььььььззззз
|
||||||
|
drop table t2яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш,
|
||||||
|
t1яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш;
|
||||||
|
# End of 10.6 tests
|
||||||
|
@@ -272,3 +272,30 @@ SET FOREIGN_KEY_CHECKS=DEFAULT;
|
|||||||
--error ER_CANT_CREATE_TABLE
|
--error ER_CANT_CREATE_TABLE
|
||||||
CREATE TABLE t1(a SERIAL) ENGINE=InnoDB ROW_FORMAT=COMPRESSED PAGE_COMPRESSED=1;
|
CREATE TABLE t1(a SERIAL) ENGINE=InnoDB ROW_FORMAT=COMPRESSED PAGE_COMPRESSED=1;
|
||||||
SHOW WARNINGS;
|
SHOW WARNINGS;
|
||||||
|
|
||||||
|
--echo # End of 10.5 tests
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-35598 foreign key error is unnecessary truncated
|
||||||
|
--echo #
|
||||||
|
set names utf8;
|
||||||
|
create table t1яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш
|
||||||
|
(f1яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш int not null primary key,
|
||||||
|
f2яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш int not null
|
||||||
|
) engine=innodb;
|
||||||
|
create table t2яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш
|
||||||
|
(f1яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш varchar(100),
|
||||||
|
f2яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш int not null,
|
||||||
|
index i2яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш
|
||||||
|
(f2яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш)
|
||||||
|
) engine=innodb;
|
||||||
|
|
||||||
|
insert t1яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш values(99, 2);
|
||||||
|
alter table t2яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш add foreign key(f2яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш) references t1яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш(f1яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш);
|
||||||
|
|
||||||
|
--error ER_NO_REFERENCED_ROW_2
|
||||||
|
insert t2яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш values('g', 3);
|
||||||
|
drop table t2яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш,
|
||||||
|
t1яяяяяяяяяяььььььььььззззззззззшшшшшшшшшш;
|
||||||
|
|
||||||
|
--echo # End of 10.6 tests
|
||||||
|
@@ -6318,15 +6318,15 @@ ER_FORBID_SCHEMA_CHANGE
|
|||||||
ger "Wechsel des Schemas von '%-.192s' auf '%-.192s' ist nicht erlaubt"
|
ger "Wechsel des Schemas von '%-.192s' auf '%-.192s' ist nicht erlaubt"
|
||||||
spa "Vd no está autorizado a cambiar el esquema de '%-.192s' a '%-.192s'"
|
spa "Vd no está autorizado a cambiar el esquema de '%-.192s' a '%-.192s'"
|
||||||
ER_ROW_IS_REFERENCED_2 23000
|
ER_ROW_IS_REFERENCED_2 23000
|
||||||
chi "无法删除或更新父行:外键约束失败(%.192s)"
|
chi "无法删除或更新父行:外键约束失败(%s)"
|
||||||
eng "Cannot delete or update a parent row: a foreign key constraint fails (%.192s)"
|
eng "Cannot delete or update a parent row: a foreign key constraint fails (%s)"
|
||||||
ger "Kann Eltern-Zeile nicht löschen oder aktualisieren: eine Fremdschlüsselbedingung schlägt fehl (%.192s)"
|
ger "Kann Eltern-Zeile nicht löschen oder aktualisieren: eine Fremdschlüsselbedingung schlägt fehl (%s)"
|
||||||
spa "No puedo borrar o actualizar una fila padre: falla una restricción de clave foránea (%.192s)"
|
spa "No puedo borrar o actualizar una fila padre: falla una restricción de clave foránea (%s)"
|
||||||
ER_NO_REFERENCED_ROW_2 23000
|
ER_NO_REFERENCED_ROW_2 23000
|
||||||
chi "无法添加或更新子行:外键约束失败(%.192s)"
|
chi "无法添加或更新子行:外键约束失败(%s)"
|
||||||
eng "Cannot add or update a child row: a foreign key constraint fails (%.192s)"
|
eng "Cannot add or update a child row: a foreign key constraint fails (%s)"
|
||||||
ger "Kann Kind-Zeile nicht hinzufügen oder aktualisieren: eine Fremdschlüsselbedingung schlägt fehl (%.192s)"
|
ger "Kann Kind-Zeile nicht hinzufügen oder aktualisieren: eine Fremdschlüsselbedingung schlägt fehl (%s)"
|
||||||
spa "No puedo añadir o actualizar una fila hija: falla una restricción de clave foránea (%.192s)"
|
spa "No puedo añadir o actualizar una fila hija: falla una restricción de clave foránea (%s)"
|
||||||
ER_SP_BAD_VAR_SHADOW 42000
|
ER_SP_BAD_VAR_SHADOW 42000
|
||||||
chi "变量'%-.64s'必须用`...`,或重命名"
|
chi "变量'%-.64s'必须用`...`,或重命名"
|
||||||
eng "Variable '%-.64s' must be quoted with `...`, or renamed"
|
eng "Variable '%-.64s' must be quoted with `...`, or renamed"
|
||||||
|
@@ -63,7 +63,7 @@ const byte timestamp_max_bytes[7] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
static const ulint MAX_DETAILED_ERROR_LEN = 256;
|
static const ulint MAX_DETAILED_ERROR_LEN = 512;
|
||||||
|
|
||||||
/*************************************************************//**
|
/*************************************************************//**
|
||||||
Set detailed error message for the transaction. */
|
Set detailed error message for the transaction. */
|
||||||
|
Reference in New Issue
Block a user