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

Check constraint with query crashes server and renders DB unusable

    Details

      Description

      I'm evaluating the possibility of migrating and existing SQL Anywhere database to MariaDB. While trying to port the existing tables, I've come across a scenario which crashes the mysqld server and renders the database useless. I can restart the server but when I attempt to do anything with the database, it crashes again (error log attached).

      Here is SQL that that will reproduce this problem:

      CREATE TABLE column_code
      ( column_name varchar(50)
      , code        char(2)
      , description varchar(255)
      , primary key (column_name, code asc)
      );
      CREATE TABLE sample_table
      ( id          integer  NOT NULL AUTO_INCREMENT PRIMARY KEY
      , value1      integer
      , value2      char(1)
      , some_code   char(2)  NOT NULL CHECK(@column in (select code from column_code where column_name = 'sample_table.some_code'))
      );
      

      I'm not defending the way this was implemented, but it is what it is. I haven't found any documentation stating this shouldn't work. Please let me know if that's the case.

      Thanks!

        Attachments

          Activity

            People

            • Assignee:
              serg Sergei Golubchik
              Reporter:
              jessiepotts Jessie Potts
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: