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]