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

Vineet Garg updated HIVE-15192:
-------------------------------
    Description: 
HIVE currently tranform subqueries into SEMI-JOIN or LEFT OUTER JOIN. This 
transformation occurs on query AST before generating logical plan. These 
transformations are described at [Link to original spec | 
https://issues.apache.org/jira/secure/attachment/12614003/SubQuerySpec.pdf]. 
Such transformations aren't able to handle a lot of subqueries, as a result 
HIVE imposes various restrictions on the type of queries it could handle e.g. 
Hive disallows nested subqueries. All current restrictions are detailed in 
above linked document.

This patch is 1st phase of getting rid of these transformations and leverage 
Calcite's functionality to plan such queries. 
Next phases will be lifting restrictions one by one. 

Note that this patch already lifts one restriction *Restriction.6.m* (The LHS 
in a SubQuery must have all its Column References be qualified)

Known issues with this patch are:
 * Return path tests fails for various reasons and are currently disabled. We 
plan to fix and re-enable this later.
  * Semi-join optimization (HIVE-15227) is disabled by default as it doesn't 
work with this patch. We plan to fix this and re-enable it by default.

  was:
Currently support of subqueries is limited [Link to original spec | 
https://issues.apache.org/jira/secure/attachment/12614003/SubQuerySpec.pdf].

Using Calcite to plan and de-correlate subqueries will help Hive get rid of 
these limitations.


> Use Calcite to de-correlate and plan subqueries
> -----------------------------------------------
>
>                 Key: HIVE-15192
>                 URL: https://issues.apache.org/jira/browse/HIVE-15192
>             Project: Hive
>          Issue Type: Task
>          Components: Logical Optimizer
>            Reporter: Vineet Garg
>            Assignee: Vineet Garg
>              Labels: sub-query
>         Attachments: HIVE-15192.2.patch, HIVE-15192.3.patch, 
> HIVE-15192.4.patch, HIVE-15192.5.patch, HIVE-15192.6.patch, 
> HIVE-15192.7.patch, HIVE-15192.patch
>
>
> HIVE currently tranform subqueries into SEMI-JOIN or LEFT OUTER JOIN. This 
> transformation occurs on query AST before generating logical plan. These 
> transformations are described at [Link to original spec | 
> https://issues.apache.org/jira/secure/attachment/12614003/SubQuerySpec.pdf]. 
> Such transformations aren't able to handle a lot of subqueries, as a result 
> HIVE imposes various restrictions on the type of queries it could handle e.g. 
> Hive disallows nested subqueries. All current restrictions are detailed in 
> above linked document.
> This patch is 1st phase of getting rid of these transformations and leverage 
> Calcite's functionality to plan such queries. 
> Next phases will be lifting restrictions one by one. 
> Note that this patch already lifts one restriction *Restriction.6.m* (The LHS 
> in a SubQuery must have all its Column References be qualified)
> Known issues with this patch are:
>  * Return path tests fails for various reasons and are currently disabled. We 
> plan to fix and re-enable this later.
>   * Semi-join optimization (HIVE-15227) is disabled by default as it doesn't 
> work with this patch. We plan to fix this and re-enable it by default.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to