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

LP:784297 - Failure in multi-update that uses a derived table.

    XMLWordPrintable

Details

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

    Description

      When trying to execute the test test case of bug #52157 from mysql-test/t/multi_update.test on the LP tree
      maria-5.3-mwl106 you get:

      MariaDB [test]> CREATE FUNCTION f1 () RETURNS BLOB RETURN 1;
      Query OK, 0 rows affected (0.00 sec)

      MariaDB [test]> CREATE TABLE t1 (f1 DATE);
      Query OK, 0 rows affected (0.01 sec)

      MariaDB [test]> INSERT INTO t1 VALUES('2001-01-01');
      Query OK, 1 row affected (0.00 sec)

      MariaDB [test]> UPDATE (SELECT 1 FROM t1 WHERE f1 = (SELECT f1() FROM t1)) x, t1 SET f1 = 1;
      ERROR 1093 (HY000): You can't specify target table 'x' for update in FROM clause

      Yet, on the 5.3 tree the last statement works fine:

      MariaDB [test]> UPDATE (SELECT 1 FROM t1 WHERE f1 = (SELECT f1() FROM t1)) x, t1 SET f1 = 1;
      Query OK, 0 rows affected, 1 warning (0.01 sec)
      Rows matched: 0 Changed: 0 Warnings: 0

      Attachments

        Activity

          People

            sanja Oleksandr Byelkin
            igor Igor Babaev
            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.