Details
-
Technical task
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.3(EOL)
-
10.2.2-3, 10.2.2-1, 10.2.2-2, 10.2.2-4, 10.1.18
Description
Example :
DROP TABLE t1; |
CREATE TABLE t1 (c1 INT, c2 INT); |
DELETE FROM t1 WHERE c1 IN (SELECT b.c1 FROM t1 b WHERE b.c2=0); |
currently returns:
DELETE FROM t1 WHERE c1 IN (SELECT b.c1 FROM t1 b WHERE b.c2=0);
|
ERROR 1093 (HY000): Table 't1' is specified twice, both as a target for 'DELETE' and as a separate source for data
|
The same script works fine in Oracle.
Attachments
Issue Links
- relates to
-
MDEV-12874 UPDATE statements with the same source and target
-
- Closed
-
-
MDEV-13429 main.delete_use_source fails sporadically in buildbot with wrong execution plan
-
- Closed
-
-
MDEV-17954 multi-table DELETE statement with the same source and target in subselect
-
- Confirmed
-
Suggestion of how to implement this:
and them delete them in a seconds pass.
Normally we do deletes directly in the first scan table, but in this case we shouldn't do that but instead
treat the first table like any other table (mark first and then delete)
doesn't work in this case.