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

Reply via email to