Open kokosing opened 1 year ago
CC: @Praveen2112 @lukasz-walkiewicz
I think it's because of the we plan the DeleteNode
into the MergeWriteNode
, thus the table x
treated as merge target, it's scanned by default.
Maybe we don't need to "fix" this?
Maybe we don't need to "fix" this?
We need to fix this. The way how it is implemented should not matter what is the semantic of the query. If someone is using listener to capture some logical information then here they will get a corrupted data.
@Praveen2112 do you happen to remember the details of it?
@kokosing Can I take this?
I think we can fix this by adding a check on the InputExtractor#Visitor.visitTableScan
if the scan is update target, if yes skip the table. @kokosing What do you think
Can I take this?
I would be delighted. Please do!
I think we can fix this by adding a check on the InputExtractor#Visitor.visitTableScan if the scan is update target, if yes skip the table. What do you think?
@Praveen2112 can you please respond? I don't have the full context here.
For a query like this
DELETE FROM x WHERE (SELECT … FROM y)
we currently getx, y
as input table but it should be justy
.See
io.trino.spi.eventlistener.QueryIOMetadata
.