zhoulii commented on code in PR #8945:
URL: https://github.com/apache/paimon/pull/8945#discussion_r3701051812


##########
paimon-common/src/main/java/org/apache/paimon/globalindex/btree/LazyFilteredBTreeReader.java:
##########
@@ -56,6 +56,11 @@ public LazyFilteredBTreeReader(
         this.keySerializer = keySerializer;
     }
 
+    @Override
+    public boolean supportsRangeComplement() {

Review Comment:
   Do you mean overriding visitIsNotNull, visitNotEqual, and visitNotIn 
directly in LazyFilteredBTreeReader?
   
   The challenge is that LazyFilteredBTreeReader only has the index files and 
local row IDs, but it does not know the complete row-id range of the shard. A 
correct complement requires this full range, which is currently only available 
in OffsetGlobalIndexReader as [offset, to].
   
   Implementing the complement directly in LazyFilteredBTreeReader would either 
require reading all BTree files to reconstruct the full row-id set, which 
defeats this optimization, or passing the row range through 
GlobalIndexer#createReader.
   
   That is why the current implementation computes the complement in 
OffsetGlobalIndexReader and lets LazyFilteredBTreeReader opt in through 
supportsRangeComplement().



-- 
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]

Reply via email to