Github user xuchuanyin commented on a diff in the pull request:
https://github.com/apache/carbondata/pull/2290#discussion_r188127574
--- Diff:
core/src/main/java/org/apache/carbondata/core/datamap/dev/expr/AndDataMapExprWrapper.java
---
@@ -59,6 +60,21 @@ public AndDataMapExprWrapper(DataMapExprWrapper left,
DataMapExprWrapper right,
return andBlocklets;
}
+ @Override
+ public List<ExtendedBlocklet> prune(DataMapDistributable distributable,
+ List<PartitionSpec>
partitionsToPrune)
+ throws IOException {
+ List<ExtendedBlocklet> leftPrune = left.prune(distributable,
partitionsToPrune);
+ List<ExtendedBlocklet> rightPrune = right.prune(distributable,
partitionsToPrune);
+ List<ExtendedBlocklet> andBlocklets = new ArrayList<>();
+ for (ExtendedBlocklet blocklet : leftPrune) {
+ if (rightPrune.contains(blocklet)) {
--- End diff --
I mean that the ï½rightPrune.contains(blocklet)ï½will internally call the
method `equals` in `ExtendBlocklet`...
---