[ https://issues.apache.org/jira/browse/HIVE-4579?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13668881#comment-13668881 ]
Eric Hanson commented on HIVE-4579: ----------------------------------- Overall this looks great. One issue that I think needs to be rephrased involves NOT. The expression ^(a > b) is the same as a <= b in SQL semantics. In general, for all the basic relational operators, <, >, <=, >=, <>, =, you can invert them when you apply NOT to them, thus eliminating the NOT, because any comparison with NULL is false. Of course, not all negated Boolean clauses can be converted to equivalent clauses without negation, and negation will have to be handled as a first class thing for those cases. I'm not sure what you mean by "maybe" answers. Can you be more explicit about "All functions and udfs will be considered as indeterminate and eliminate the disjunction sub-expression that they occur in"? I am not sure what that means exactly. I think you mean that such clauses will be removed from the SARG and treated as a residual. For "The primitive clauses will be extended to include presence in a bloom filter" do you mean that bloom filters will be added as a primitive clause type later? Please clarify. > Create a SARG interface for RecordReaders > ----------------------------------------- > > Key: HIVE-4579 > URL: https://issues.apache.org/jira/browse/HIVE-4579 > Project: Hive > Issue Type: Improvement > Reporter: Owen O'Malley > Assignee: Owen O'Malley > Attachments: h-4579.patch, pushdown.pdf > > > I think we should create a SARG (http://en.wikipedia.org/wiki/Sargable) > interface for RecordReaders. For a first pass, I'll create an API that uses > the value stored in hive.io.filter.expr.serialized. > The desire is to define an simpler interface that the direct AST expression > that is provided by hive.io.filter.expr.serialized so that the code to > evaluate expressions can be generalized instead of put inside a particular > RecordReader. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira