Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-15257

Invalid CREATE INDEX fails to report error correctly

    Details

      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.

        Attachments

          Activity

            People

            • Assignee:
              sanja Oleksandr Byelkin
              Reporter:
              marko Marko Mäkelä
            • Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: