Jackie-Jiang commented on a change in pull request #5853:
URL: https://github.com/apache/incubator-pinot/pull/5853#discussion_r477694366



##########
File path: 
pinot-core/src/main/java/org/apache/pinot/core/segment/creator/impl/inv/RangeIndexCreator.java
##########
@@ -45,7 +46,7 @@
 
 
 /**
- * Implementation of {@link InvertedIndexCreator} that uses off-heap memory.
+ * Implementation of {@link DictionaryBasedInvertedIndexCreator} that uses 
off-heap memory.

Review comment:
       Revise the javadoc?

##########
File path: 
pinot-core/src/main/java/org/apache/pinot/core/segment/creator/impl/SegmentColumnarIndexCreator.java
##########
@@ -82,8 +82,8 @@
   private Map<String, ColumnIndexCreationInfo> indexCreationInfoMap;
   private Map<String, SegmentDictionaryCreator> _dictionaryCreatorMap = new 
HashMap<>();
   private Map<String, ForwardIndexCreator> _forwardIndexCreatorMap = new 
HashMap<>();
-  private Map<String, InvertedIndexCreator> _invertedIndexCreatorMap = new 
HashMap<>();
-  private Map<String, InvertedIndexCreator> _textIndexCreatorMap = new 
HashMap<>();
+  private Map<String, DictionaryBasedInvertedIndexCreator> 
_dictionaryBasedInvertedIndexCreatorMap = new HashMap<>();

Review comment:
       Suggest not changing the variable name. We'll probably use the same map 
for raw index based inverted index in the future once supported

##########
File path: 
pinot-core/src/main/java/org/apache/pinot/core/operator/filter/RangeIndexBasedFilterOperator.java
##########
@@ -49,9 +55,40 @@ public 
RangeIndexBasedFilterOperator(OfflineDictionaryBasedRangePredicateEvaluat
   protected FilterBlock getNextBlock() {
     RangeIndexReader rangeIndexReader = (RangeIndexReader) 
_dataSource.getRangeIndex();
     assert rangeIndexReader != null;
-    int firstRangeId = 
rangeIndexReader.findRangeId(_rangePredicateEvaluator.getStartDictId());
-    // NOTE: End dictionary id is exclusive in 
OfflineDictionaryBasedRangePredicateEvaluator.
-    int lastRangeId = 
rangeIndexReader.findRangeId(_rangePredicateEvaluator.getEndDictId() - 1);
+
+    int firstRangeId;
+    int lastRangeId;
+    if (_rangePredicateEvaluator instanceof 
OfflineDictionaryBasedRangePredicateEvaluator) {
+      firstRangeId = 
rangeIndexReader.findRangeId(((OfflineDictionaryBasedRangePredicateEvaluator) 
_rangePredicateEvaluator).getStartDictId());
+      // NOTE: End dictionary id is exclusive in 
OfflineDictionaryBasedRangePredicateEvaluator.
+      lastRangeId = 
rangeIndexReader.findRangeId(((OfflineDictionaryBasedRangePredicateEvaluator) 
_rangePredicateEvaluator).getEndDictId() - 1);
+    } else {
+      switch (_rangePredicateEvaluator.getDataType()) {
+        case INT: {
+          firstRangeId = 
rangeIndexReader.findRangeId(((IntRawValueBasedRangePredicateEvaluator) 
_rangePredicateEvaluator).geLowerBound());
+          lastRangeId = 
rangeIndexReader.findRangeId(((RangePredicateEvaluatorFactory.IntRawValueBasedRangePredicateEvaluator)
 _rangePredicateEvaluator).getUpperBound());

Review comment:
       ```suggestion
             lastRangeId = 
rangeIndexReader.findRangeId(((IntRawValueBasedRangePredicateEvaluator) 
_rangePredicateEvaluator).getUpperBound());
   ```

##########
File path: 
pinot-core/src/test/java/org/apache/pinot/core/segment/index/creator/RangeIndexCreatorTest.java
##########
@@ -18,16 +18,18 @@
  */
 package org.apache.pinot.core.segment.index.creator;
 
-import com.google.common.base.Preconditions;
+

Review comment:
       Please reformat this file, the indentation is not correct

##########
File path: 
pinot-core/src/main/java/org/apache/pinot/core/segment/creator/impl/inv/RangeIndexCreator.java
##########
@@ -65,7 +66,7 @@
  *   </li>
  * </ul>
  */
-public final class RangeIndexCreator implements InvertedIndexCreator {
+public final class RangeIndexCreator implements 
RawValueBasedInvertedIndexCreator,DictionaryBasedInvertedIndexCreator {

Review comment:
       (nit) reformat




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

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to