Failure in multi-update that uses a derived table.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MariaDB |
Fix Released
|
Critical
|
Oleksandr "Sanja" Byelkin |
Bug Description
When trying to execute the test test case of bug #52157 from mysql-test/
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(
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
Changed in maria: | |
milestone: | none → 5.3 |
importance: | Undecided → Critical |
assignee: | nobody → Oleksandr "Sanja" Byelkin (sanja-byelkin) |
status: | New → Confirmed |
Changed in maria: | |
status: | Confirmed → Fix Committed |
Changed in maria: | |
status: | Fix Committed → Fix Released |
The failure in innodb_ multi_update. test with the test case for bug#54475 is probably of same nature (observed only in maria-5.3-mwl106)