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

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

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.