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

Anthony Hsu updated HIVE-6643:
------------------------------
    Description: 
Now that we support old style join syntax, it is easy to write queries that 
generate a plan with a cross product.
For e.g. say you have A join B join C join D on A.x = B.x and A.y = D.y and C.z 
= D.z
So the JoinTree is:

A — B
\|__  D — C

Since we don't reorder join graphs, we will end up with a cross product between 
(A join B) and C

  was:
Now that we support old style join syntax, it is easy to write queries that 
generate a plan with a cross product.
For e.g. say you have A join B join C join D on A.x = B.x and A.y = D.y and C.z 
= D.z
So the JoinTree is:

A — B
|__  D — C

Since we don't reorder join graphs, we will end up with a cross product between 
(A join B) and C


> Add a check for cross products in plans and output a warning
> ------------------------------------------------------------
>
>                 Key: HIVE-6643
>                 URL: https://issues.apache.org/jira/browse/HIVE-6643
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Harish Butani
>            Assignee: Harish Butani
>             Fix For: 0.13.0
>
>         Attachments: HIVE-6643.1.patch, HIVE-6643.2.patch, HIVE-6643.3.patch, 
> HIVE-6643.4.patch, HIVE-6643.5.patch, HIVE-6643.6.patch, HIVE-6643.7.patch
>
>
> Now that we support old style join syntax, it is easy to write queries that 
> generate a plan with a cross product.
> For e.g. say you have A join B join C join D on A.x = B.x and A.y = D.y and 
> C.z = D.z
> So the JoinTree is:
> A — B
> \|__  D — C
> Since we don't reorder join graphs, we will end up with a cross product 
> between (A join B) and C



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

Reply via email to