You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Gopal V (JIRA)" <ji...@apache.org> on 2015/11/21 07:53:10 UTC

[jira] [Commented] (HIVE-12473) DPP: UDFs on the partition column side does not evaluate correctly

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

Gopal V commented on HIVE-12473:
--------------------------------

[~sershe]: yes, will do that - seeing your patch gives me another idea.

This can be looked up from the TableScan in the optimizer during generateEventOperatorPlan().

{code}
      eventDesc.setTargetColumnName(column);
      eventDesc.setPartKey(partKey);
{code}

> DPP: UDFs on the partition column side does not evaluate correctly
> ------------------------------------------------------------------
>
>                 Key: HIVE-12473
>                 URL: https://issues.apache.org/jira/browse/HIVE-12473
>             Project: Hive
>          Issue Type: Bug
>          Components: Tez
>    Affects Versions: 1.3.0, 1.2.1, 2.0.0
>            Reporter: Gopal V
>            Assignee: Sergey Shelukhin
>         Attachments: HIVE-12473.patch
>
>
> Related to HIVE-12462
> {code}
> select count(1) from accounts a, transactions t where year(a.dt) = year(t.dt) and account_id = 22;
> $hdt$_0:$hdt$_1:a
>   TableScan (TS_2)
>     alias: a
>     filterExpr: (((account_id = 22) and year(dt) is not null) and (year(dt)) IN (RS[6])) (type: boolean)
> {code}
> Ends up being evaluated as {{year(cast(dt as int))}} because the pruner only checks for final type, not the column type.
> {code}
>     ObjectInspector oi =
>         PrimitiveObjectInspectorFactory.getPrimitiveWritableObjectInspector(TypeInfoFactory
>             .getPrimitiveTypeInfo(si.fieldInspector.getTypeName()));
>     Converter converter =
>         ObjectInspectorConverters.getConverter(
>             PrimitiveObjectInspectorFactory.javaStringObjectInspector, oi);
> {code}



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