You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Krisztian Kasa (Jira)" <ji...@apache.org> on 2020/10/30 11:43:00 UTC

[jira] [Assigned] (HIVE-24335) RelOptMaterialization creates LogicalProject on top of HiveTableScan

     [ https://issues.apache.org/jira/browse/HIVE-24335?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Krisztian Kasa reassigned HIVE-24335:
-------------------------------------


> RelOptMaterialization creates LogicalProject on top of HiveTableScan
> --------------------------------------------------------------------
>
>                 Key: HIVE-24335
>                 URL: https://issues.apache.org/jira/browse/HIVE-24335
>             Project: Hive
>          Issue Type: Bug
>          Components: Materialized views
>            Reporter: Krisztian Kasa
>            Assignee: Krisztian Kasa
>            Priority: Major
>
> In some cases RelOptMaterialization creates a Project operator on top of materialized view  HiveTableScan.
>  Ex.: when some columns need to be casted.
> {code:java}
> LogicalProject(empid=[CAST($0):INTEGER NOT NULL], deptno=[$1], name=[$2], salary=[$3], commission=[$4])
>   HiveTableScan(table=[[default, mv1_n2]], table:alias=[mv1_n2])
> {code}
> This Project operator is represented by a LogicalProject however a HiveProject should be used. 
>  Cause: in calcite RelOptMaterialization constructor calls RelOptUtil.createCastRel which uses the RelFactories.DEFAULT_PROJECT_FACTORY
>  [https://github.com/apache/calcite/blob/987cb7f7da6ff1cb436718ac93868d50e88e875f/core/src/main/java/org/apache/calcite/plan/RelOptMaterialization.java#L60]
>  [https://github.com/apache/calcite/blob/987cb7f7da6ff1cb436718ac93868d50e88e875f/core/src/main/java/org/apache/calcite/plan/RelOptUtil.java#L832]



--
This message was sent by Atlassian Jira
(v8.3.4#803005)