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

Navis commented on HIVE-9278:
-----------------------------

[~ashutoshc] In caching, identity was checked by comparing toString(). But for 
UDFs (not GenericUDF), these return always same class name 
(org.apache.hadoop.hive.ql.udf.generic.GenericUDFBridge) making them shared 
between different expressions. In the testcase, "length(key)" and 
"reverse(key)" are both UDFs, resulting length(key)=reverse(key) always. Now 
it's checked correctly with ExprNodeDesc itself (with isSame() method).

> Cached expression feature broken in one case
> --------------------------------------------
>
>                 Key: HIVE-9278
>                 URL: https://issues.apache.org/jira/browse/HIVE-9278
>             Project: Hive
>          Issue Type: Bug
>    Affects Versions: 0.14.0
>            Reporter: Matt McCline
>            Assignee: Navis
>            Priority: Critical
>         Attachments: HIVE-9278.1.patch.txt
>
>
> Different query result depending on whether hive.cache.expr.evaluation is 
> true or false.  When true, no query results are produced (this is wrong).
> The q file:
> {noformat}
> set hive.cache.expr.evaluation=true;
> CREATE TABLE cache_expr_repro (date_str STRING);
> LOAD DATA LOCAL INPATH '../../data/files/cache_expr_repro.txt' INTO TABLE 
> cache_expr_repro;
> SELECT MONTH(date_str) AS `mon`, CAST((MONTH(date_str) - 1) / 3 + 1 AS int) 
> AS `quarter`,   YEAR(date_str) AS `year` FROM cache_expr_repro WHERE 
> ((CAST((MONTH(date_str) - 1) / 3 + 1 AS int) = 1) AND (YEAR(date_str) = 
> 2015)) GROUP BY MONTH(date_str), CAST((MONTH(date_str) - 1) / 3 + 1 AS int),  
>  YEAR(date_str) ;
> {noformat}
> cache_expr_repro.txt
> {noformat}
> 2015-01-01 00:00:00
> 2015-02-01 00:00:00
> 2015-01-01 00:00:00
> 2015-02-01 00:00:00
> 2015-01-01 00:00:00
> 2015-01-01 00:00:00
> 2015-02-01 00:00:00
> 2015-02-01 00:00:00
> 2015-01-01 00:00:00
> 2015-01-01 00:00:00
> {noformat}



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

Reply via email to