[
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)