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. */
|
/* These column types should never be shipped to MySQL. */
|
||||||
ut_ad(0);
|
ut_ad(0);
|
||||||
|
|
||||||
case DATA_CHAR:
|
|
||||||
case DATA_FIXBINARY:
|
case DATA_FIXBINARY:
|
||||||
case DATA_FLOAT:
|
case DATA_FLOAT:
|
||||||
case DATA_DOUBLE:
|
case DATA_DOUBLE:
|
||||||
case DATA_DECIMAL:
|
case DATA_DECIMAL:
|
||||||
/* Above are the valid column types for MySQL data. */
|
/* Above are the valid column types for MySQL data. */
|
||||||
ut_ad(flen == len);
|
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 */
|
#else /* UNIV_DEBUG */
|
||||||
default:
|
default:
|
||||||
#endif /* UNIV_DEBUG */
|
#endif /* UNIV_DEBUG */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user