You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Rajat Khandelwal (JIRA)" <ji...@apache.org> on 2016/05/10 14:24:12 UTC
[jira] [Updated] (HIVE-13727) Getting error Failed rule:
'orderByClause clusterByClause distributeByClause sortByClause limitClause
can only be applied to the whole union.' in subquery
[ https://issues.apache.org/jira/browse/HIVE-13727?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rajat Khandelwal updated HIVE-13727:
------------------------------------
Description:
The error comes in the following query:
{noformat}
SELECT *
FROM
(SELECT *
FROM srcpart a
WHERE a.ds = '2008-04-08'
AND a.hr = '11'
ORDER BY a.key LIMIT 5
UNION ALL
SELECT *
FROM srcpart b
WHERE b.ds = '2008-04-08'
AND b.hr = '14'
ORDER BY b.key LIMIT 5) subq
ORDER BY KEY LIMIT 5
{noformat}
But the following query works:
{noformat}
SELECT *
FROM
(SELECT *
FROM
(SELECT *
FROM srcpart a
WHERE a.ds = '2008-04-08'
AND a.hr = '11'
ORDER BY a.key LIMIT 5) pa
UNION ALL SELECT *
FROM
(SELECT *
FROM srcpart b
WHERE b.ds = '2008-04-08'
AND b.hr = '14'
ORDER BY b.key LIMIT 5) pb) subq
ORDER BY KEY LIMIT 5
{noformat}
The queries are logically identical, the query that's rejected has dummy select * clauses around the sub-queries.
was:
The error comes in the following query:
{noformat}
SELECT *
FROM
(SELECT *
FROM srcpart a
WHERE a.ds = '2008-04-08'
AND a.hr = '11'
ORDER BY a.key LIMIT 5
UNION ALL
SELECT *
FROM srcpart b
WHERE b.ds = '2008-04-08'
AND b.hr = '14'
ORDER BY b.key LIMIT 5) subq
ORDER BY KEY LIMIT 5
{noformat}
But not in the following query:
{noformat}
SELECT *
FROM
(SELECT *
FROM
(SELECT *
FROM srcpart a
WHERE a.ds = '2008-04-08'
AND a.hr = '11'
ORDER BY a.key LIMIT 5) pa
UNION ALL SELECT *
FROM
(SELECT *
FROM srcpart b
WHERE b.ds = '2008-04-08'
AND b.hr = '14'
ORDER BY b.key LIMIT 5) pb) subq
ORDER BY KEY LIMIT 5
{noformat}
The queries are logically identical, the query that's rejected has dummy select * clauses around the sub-queries.
> Getting error Failed rule: 'orderByClause clusterByClause distributeByClause sortByClause limitClause can only be applied to the whole union.' in subquery
> -----------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HIVE-13727
> URL: https://issues.apache.org/jira/browse/HIVE-13727
> Project: Hive
> Issue Type: Bug
> Reporter: Rajat Khandelwal
>
> The error comes in the following query:
> {noformat}
> SELECT *
> FROM
> (SELECT *
> FROM srcpart a
> WHERE a.ds = '2008-04-08'
> AND a.hr = '11'
> ORDER BY a.key LIMIT 5
> UNION ALL
> SELECT *
> FROM srcpart b
> WHERE b.ds = '2008-04-08'
> AND b.hr = '14'
> ORDER BY b.key LIMIT 5) subq
> ORDER BY KEY LIMIT 5
> {noformat}
> But the following query works:
> {noformat}
> SELECT *
> FROM
> (SELECT *
> FROM
> (SELECT *
> FROM srcpart a
> WHERE a.ds = '2008-04-08'
> AND a.hr = '11'
> ORDER BY a.key LIMIT 5) pa
> UNION ALL SELECT *
> FROM
> (SELECT *
> FROM srcpart b
> WHERE b.ds = '2008-04-08'
> AND b.hr = '14'
> ORDER BY b.key LIMIT 5) pb) subq
> ORDER BY KEY LIMIT 5
> {noformat}
> The queries are logically identical, the query that's rejected has dummy select * clauses around the sub-queries.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)