Github user jihoonson commented on a diff in the pull request:
https://github.com/apache/tajo/pull/231#discussion_r21685588
--- Diff:
tajo-plan/src/main/java/org/apache/tajo/plan/rewrite/rules/FilterPushDownRule.java
---
@@ -901,6 +942,49 @@ public LogicalNode visitScan(FilterPushDownContext
context, LogicalPlan plan,
return scanNode;
}
+ private static class Predicate {
--- End diff --
Yes, it has a subset feature of EvalNode.
Given a conjunctive form of query predicates, we need to disjoint them to
find an alternative access path using a proper index; first, we find a proper
index with the columns involved in predicates. After that, we estimate the
selectivity of those predicates.
As you know, the graph of EvalNodes can represent complex and conjunctive
predicates. So, in order to find the index scan path, we need to decompose the
EvalNode graph into the several disjoint predicates.
Currently, the BST index supports only the equality predicate, I used
Predicate and SimplePredicate classes as a temporal solution to represent a
simple predicate which has a form of 'column = value' or 'value = column'.
However, we need to devise a better representation for other types of
predicates such as range predicate.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---