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

Jesus Camacho Rodriguez commented on HIVE-23100:
------------------------------------------------

This patch became larger than expected. I have tried to keep some work out of 
it to prevent it from growing even larger, e.g., there is some logic in 
{{RexConverter}} that is possibly not needed anymore or some further 
refactoring that could be done in {{CalcitePlanner}}. My goal was to land this 
big block first and then tackle all those issues in smaller follow-ups.
The main new component is the {{RexNodeExprFactory}} that mimics 
{{ExprNodeDescFactory}} functionality but produces/works with {{RexNode}} 
objects. {{RexNodeExprFactory}} relies on a {{FunctionHelper}} implementation 
to get function information, adapt inputs according to that function, or 
generate the final {{RexCall}} node that represents the expression. There are 
multiple changes in the patch related to issues that had to be worked through, 
e.g., related to the type system differences between Hive and Calcite 
expressions. Additionally, the patch exposes CALCITE-3898 (I uploaded a patch 
for that issue too).

PR in in https://github.com/apache/hive/pull/970. [~vgarg], [~kgyrtkirk], could 
you take a look? Thanks

> Create RexNode factory and use it in CalcitePlanner
> ---------------------------------------------------
>
>                 Key: HIVE-23100
>                 URL: https://issues.apache.org/jira/browse/HIVE-23100
>             Project: Hive
>          Issue Type: Improvement
>          Components: CBO
>            Reporter: Jesus Camacho Rodriguez
>            Assignee: Jesus Camacho Rodriguez
>            Priority: Major
>         Attachments: HIVE-23100.01.patch, HIVE-23100.02.patch, 
> HIVE-23100.03.patch, HIVE-23100.04.patch, HIVE-23100.05.patch, 
> HIVE-23100.06.patch, HIVE-23100.07.patch, HIVE-23100.patch
>
>
> Follow-up of HIVE-22746.
> This will allow us to generate directly the RexNode from the AST nodes.



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

Reply via email to