pvary commented on code in PR #14581:
URL: https://github.com/apache/iceberg/pull/14581#discussion_r2527475846
##########
core/src/main/java/org/apache/iceberg/BaseRowDelta.java:
##########
@@ -48,6 +48,10 @@ protected BaseRowDelta self() {
@Override
protected String operation() {
+ if (addsDataFiles() && !addsDeleteFiles() && !deletesDataFiles()) {
Review Comment:
For V2 tables, the condition above works correctly for deletes. However, for
V3 tables, if there are already deletes for a data file (i.e., an existing DV),
we always remove the old DV and add a new one. This means the condition above
is never triggered. On the other hand, we typically don’t re-add rows, so the
DELETE operation remains the correct outcome.
My main concern with changing this behavior is that it could be unexpected
for users. That’s why I’d prefer to separate the two cases.
In the meantime, if you have some time, could you please test my theory?
(Totally understand if you’re busy—I’m just hopeful 😄)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]