Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.2(EOL), 10.3(EOL)
Description
The following test is crashing the MariaDB Server 10.2 debug build in the CREATE INDEX:
--source include/have_innodb.inc
|
SET GLOBAL innodb_file_format=Barracuda; |
SET GLOBAL innodb_large_prefix=0; |
CREATE TABLE t (a VARCHAR(4000)) ROW_FORMAT=DYNAMIC ENGINE=InnoDB; |
--error ER_TOO_LONG_KEY
|
CREATE INDEX prefix_idx ON t(a(1000)); |
DROP TABLE t; |
The innodb_file_format and ROW_FORMAT=DYNAMIC are defaults. I added them only to test this in 10.0 and 10.1, which rightfully reported the following:
mysqltest: At line 7: query 'CREATE INDEX prefix_idx ON t(a(1000))' succeeded - should have failed with errno 1071...
In 10.2 we instead get the famous debug assertion failure:
mysqld: /mariadb/10.2/sql/sql_error.cc:380: void Diagnostics_area::set_ok_status(ulonglong, ulonglong, const char *): Assertion `!is_set() || (m_status == DA_OK_BULK && is_bulk_op())' failed.