scarlin-cloudera opened a new pull request #2722:
URL: https://github.com/apache/hive/pull/2722


   At compile time, Hive parses the query into ASTNodes.  For CBO, the
   ASTNodes get converted into Calcite RexNodes and then get converted
   back into ASTNodes. After the optimization step is done, the types
   chosen for each step should be the final type. This commit eliminates
   any type changes done on the conversion back to the ASTNode.
   
   A couple of ptest files changed with this commit. The reason for the
   change is because there was an extra constant fold done on the conversion
   back to the ASTNode. This constant fold should have been done at
   optimization time. A Jira will be filed for this, but there is no adverse
   effect for this issue.
   
   <!--
   Thanks for sending a pull request!  Here are some tips for you:
     1. If this is your first time, please read our contributor guidelines: 
https://cwiki.apache.org/confluence/display/Hive/HowToContribute
     2. Ensure that you have created an issue on the Hive project JIRA: 
https://issues.apache.org/jira/projects/HIVE/summary
     3. Ensure you have added or run the appropriate tests for your PR: 
     4. If the PR is unfinished, add '[WIP]' in your PR title, e.g., 
'[WIP]HIVE-XXXXX:  Your PR title ...'.
     5. Be sure to keep the PR description updated to reflect all changes.
     6. Please write your PR title to summarize what this PR proposes.
     7. If possible, provide a concise example to reproduce the issue for a 
faster review.
   
   -->
   
   ### What changes were proposed in this pull request?
       At compile time, Hive parses the query into ASTNodes.  For CBO, the
       ASTNodes get converted into Calcite RexNodes and then get converted
       back into ASTNodes. After the optimization step is done, the types
       chosen for each step should be the final type. This commit eliminates
       any type changes done on the conversion back to the ASTNode.
       
       A couple of ptest files changed with this commit. The reason for the
       change is because there was an extra constant fold done on the conversion
       back to the ASTNode. This constant fold should have been done at
       optimization time. A Jira will be filed for this, but there is no adverse
       effect for this issue.
       
       The SqlFunctionConverter file changes the RexNode back into the ASTNode 
so
        it is at this point that we set the typeInfo in the ASTNode.  When the 
UDF gets
        created, we check if the typeInfo has already been set in the ASTNode 
and use
        it if it has.
   
   
   ### Why are the changes needed?
   This will give a slight performance boost.  Also, eventually the conversion 
back to the ASTNode will be removed. When this happens, this commit will ensure 
that the results do not change.
   
   
   ### Does this PR introduce _any_ user-facing change?
   No
   
   
   ### How was this patch tested?
   This did not add any new functionality so existing ptests should ensure that 
the patch is safe.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to