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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org

Reply via email to