[ 
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

Reply via email to