[ 
https://issues.apache.org/jira/browse/HIVE-13250?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15204812#comment-15204812
 ] 

Siddharth Seth commented on HIVE-13250:
---------------------------------------

bq. I misunderstood this bug report. Without patch, filter expression for {{ 
ts_field = "2016-01-23 00:00:00"}} gets executed as (UDFToString(ts_field) = 
'2016-01-23 00:00:00') In the patch I made changes such that cast is on 
constant (ts_field = UDFTOTimeStamp('2016-01-23 00:00:00')) which gets folded 
compile time to (ts_field = 2016-01-23 00:00:00.0)
I'd expect the cast to change the value to whatever can be compared directly 
against storage. However, I think the type promotion system is far more 
complicated - and this may not be possible always.

> Compute predicate conversions on the client, instead of per row group
> ---------------------------------------------------------------------
>
>                 Key: HIVE-13250
>                 URL: https://issues.apache.org/jira/browse/HIVE-13250
>             Project: Hive
>          Issue Type: Improvement
>    Affects Versions: 2.1.0
>            Reporter: Siddharth Seth
>            Assignee: Ashutosh Chauhan
>         Attachments: HIVE-13250.2.patch, HIVE-13250.patch
>
>
> When running a query for the form 
> select count from table where ts_field = "2016-01-23 00:00:00";
> or
> select count from table where ts_field = 1453507200
> ts_field is of type TIMESTAMP
> The predicate is converted to whatever format is appropriate for TIMESTAMP 
> processing on each and every row group.
> It would be far more efficient to process this once on the client - or even 
> once per task.
> The same applies to ORC splt elimination as well - this is applied for each 
> stripe.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to