kasakrisz opened a new pull request, #4637:
URL: https://github.com/apache/hive/pull/4637

   <!--
   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?
   Disable removing zero row producing query plan optimization when the schema 
contains any complex types. More precisely we fall back to convert the plan to 
a `HiveSortLimit(fetch=0, input=<sub plan producing 0 rows>)`. This was the 
original representation of Empty operator before this optimization was 
introduced.
   
   ### Why are the changes needed?
   The Calcite plan is converted back to AST in ASTConverter before going to 
Hive operator plan. AST does not contain type information and a `NULL` value 
having complex type can not be accurately represented.
   This makes impossible of running CTAS statements when the select clause does 
not produces any rows because the schema of the new table can not be inferred.
   
   ### Does this PR introduce _any_ user-facing change?
   No.
   
   ### Is the change a dependency upgrade?
   No.
   
   ### How was this patch tested?
   ```
   mvn test -Dtest.output.overwrite -DskipSparkTests 
-Dtest=TestMiniLlapLocalCliDriver -Dqfile=empty_result_ctas.q -pl itests/qtest 
-Pitests
   ```
   


-- 
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: gitbox-unsubscr...@hive.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org
For additional commands, e-mail: gitbox-h...@hive.apache.org

Reply via email to