Hello!

SPARK-49933 has been open since October 2024:

  https://issues.apache.org/jira/browse/SPARK-49933
  https://github.com/apache/spark/pull/52185

RewriteMergeIntoTable disables predicate pushdown whenever a `MERGE INTO`
has any `WHEN NOT MATCHED BY SOURCE` clause. That is only necessary when
such an action has no condition. Otherwise the rows the statement can touch
are bounded by the ON condition. The PR is an 8-line change doing exactly
that, falling back to today's behavior when a condition is absent.

It matters most for Iceberg, which has no replaceWhere equivalent, so the
`MERGE INTO` used in its place scans the whole target table (
https://github.com/apache/iceberg/issues/11248)

The PR was closed by the stale bot in January. The author confirms it is
code-complete and running in production as a plugin.

Would a committer familiar with DSv2 row-level operations be willing to
reopen and review it? I am happy to add test coverage.

Thanks,
Viacheslav Inozemtsev

Reply via email to