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/20 00:36:11 UTC

[jira] [Updated] (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:all-tabpanel ]

Gopal V updated HIVE-12473:
---------------------------
    Description: 
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}

  was:
Related to HIVE-12462

{code}
$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}


> 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: Gopal V
>
> 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)