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

LP:601164 - Wrong result for DELETE over a table with a virtual column

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • None
    • None
    • None

    Description

      DELETE over a table containing a virtual column with ORDER BY an index and with a LIMIT clause may return wrong results
      if the WHERE clause contains a condition for the virtual column:

      MariaDB [test]> create table t1 (a int, b int, v int as (a+1), index idx(b));
      Query OK, 0 rows affected (0.00 sec)

      MariaDB [test]> insert into t1(a, b) values (4, 40), (3, 30), (5, 50), (7, 70), (8, 80), (2, 20), (1, 10);
      Query OK, 7 rows affected (0.00 sec)
      Records: 7 Duplicates: 0 Warnings: 0

      MariaDB [test]> select * from t1 order by b;
      --------------

      a b v

      --------------

      1 10 2
      2 20 3
      3 30 4
      4 40 5
      5 50 6
      7 70 8
      8 80 9

      --------------
      7 rows in set (0.00 sec)

      MariaDB [test]> delete from t1 where v > 6 order by b limit 1;
      Query OK, 0 rows affected (6.19 sec)

      MariaDB [test]> select * from t1;
      --------------

      a b v

      --------------

      4 40 5
      3 30 4
      5 50 6
      7 70 8
      8 80 9
      2 20 3
      1 10 2

      --------------
      7 rows in set (0.00 sec)

      Attachments

        Activity

          People

            igor Igor Babaev (Inactive)
            igor Igor Babaev (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 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.