[ https://issues.apache.org/jira/browse/HIVE-4579?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13669545#comment-13669545 ]
Eric Hanson commented on HIVE-4579: ----------------------------------- Since SARGs are always for filters, not for value-based expressions, the null-preserving logic be ignored when testing SARGs, the way I understand it. e.g. Column > 10 is always TRUE or FALSE when used as a filter, but may be TRUE, FALSE, or NULL when retrieved as a value-based expression. Also, it appears that "maybe" values in a SARG test against stripe metadata can just be consider TRUE for the purpose of that test since you have to look at the stripe in that case. Of course, that means the predicate in the SARG will have to be applied either at the row-by-row level again, or else applied as a residual by the query executor. > 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