Backport from 5.6: Bug#14769820 ASSERT FLEN == LEN
IN ALTER TABLE ... ADD UNIQUE KEY A bogus debug assertion failure occurred when reporting a duplicate key on a column prefix of a CHAR column. This is a regression from Bug#14729221 IN-PLACE ALTER TABLE REPORTS '' INSTEAD OF REAL DUPLICATE VALUE FOR PREFIX KEYS. The assertion is only present when UNIV_DEBUG is defined (which it is in debug builds starting from MySQL 5.5). It is a case of overasserting. Fix approved by Inaam Rana on IM.
This commit is contained in:
parent
03572c5b82
commit
507ffd4afc
@ -108,13 +108,17 @@ innobase_col_to_mysql(
|
||||
/* These column types should never be shipped to MySQL. */
|
||||
ut_ad(0);
|
||||
|
||||
case DATA_CHAR:
|
||||
case DATA_FIXBINARY:
|
||||
case DATA_FLOAT:
|
||||
case DATA_DOUBLE:
|
||||
case DATA_DECIMAL:
|
||||
/* Above are the valid column types for MySQL data. */
|
||||
ut_ad(flen == len);
|
||||
/* fall through */
|
||||
case DATA_CHAR:
|
||||
/* We may have flen > len when there is a shorter
|
||||
prefix on a CHAR column. */
|
||||
ut_ad(flen >= len);
|
||||
#else /* UNIV_DEBUG */
|
||||
default:
|
||||
#endif /* UNIV_DEBUG */
|
||||
|
Loading…
x
Reference in New Issue
Block a user