SML0127 commented on issue #11081:
URL: https://github.com/apache/iceberg/issues/11081#issuecomment-2330951529
@pvary
Thk for answer pvary.
Now I'm checking some code in ColumnarBatchReader, whether it works as
follow:
1. apply eq delete files first, from oldest snapshot
2. then apply data file and pos delete files
3. reapply from step 1 for the next snapshot.
I'm still looking into it so it could be wrong.
```java
ColumnarBatch loadDataToColumnBatch() {
int numRowsUndeleted = initRowIdMapping();
ColumnVector[] arrowColumnVectors = readDataToColumnVectors();
ColumnarBatch newColumnarBatch = new ColumnarBatch(arrowColumnVectors);
newColumnarBatch.setNumRows(numRowsUndeleted);
if (hasEqDeletes()) { // eq 있는지 한번더 확인?
applyEqDelete(newColumnarBatch);
}
if (hasIsDeletedColumn && rowIdMapping != null) {
// reset the row id mapping array, so that it doesn't filter out the
deleted rows
for (int i = 0; i < numRowsToRead; i++) {
rowIdMapping[i] = i;
}
newColumnarBatch.setNumRows(numRowsToRead);
}
return newColumnarBatch;
}
```
--
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]