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

REPLACE on table with virtual_field can cause crash in set_ok_status()

    XMLWordPrintable

    Details

      Description

      create or replace table t1 (pk int primary key, col_bit bit(15) default null,
      vcol_bit bit(10) GENERATED ALWAYS AS (`col_bit`) VIRTUAL);
      replace INTO `t1` (`pk`,col_bit) VALUES (99,1000);
      select pk, col_bit+0, vcol_bit+0 from t1;
      replace INTO `t1` (`pk`,col_bit) VALUES (99,10000);
      select pk, col_bit+0, vcol_bit+0 from t1;
      REPLACE LOW_PRIORITY INTO `t1` (`pk`) VALUES (99);
      drop table t1;

      Causes crash in:
      mysqld: /my/maria-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

          Issue Links

            Activity

              People

              Assignee:
              monty Michael Widenius
              Reporter:
              monty Michael Widenius
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Due:
                Created:
                Updated:
                Resolved: