[
https://issues.apache.org/jira/browse/HIVE-12223?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jesus Camacho Rodriguez updated HIVE-12223:
-------------------------------------------
Description:
Consider the following query:
{noformat}
SELECT key, value, GROUPING__ID, count(*)
FROM T1
GROUP BY key, value
GROUPING SETS ((), (key))
HAVING GROUPING__ID = 1
{noformat}
This query will not return results. The reason is that a "constant" placeholder
is introduced by SemanticAnalyzer for the GROUPING\__ID column. At execution
time, this placeholder is replaced by the actual value of the GROUPING\__ID. As
it is a constant, the Hive optimizer will evaluate statically whether the
condition is met or not, leading to incorrect results. A possible solution is
to transform the placeholder constant into a function over the grouping keys.
was:
Consider the following query:
{noformat}
SELECT key, value, GROUPING__ID, count(*)
FROM T1
GROUP BY key, value
GROUPING SETS ((), (key))
HAVING GROUPING__ID = 1
{noformat}
This query will not return results. The reason is that a "constant" placeholder
is introduced by SemanticAnalyzer for the GROUPING__ID column. At execution
time, this placeholder is replaced by the actual value of the GROUPING__ID. As
it is a constant, the Hive optimizer will evaluate statically whether the
condition is met or not, leading to incorrect results. A possible solution is
to transform the placeholder constant into a function over the grouping keys.
> Filter on Grouping__ID does not work properly
> ---------------------------------------------
>
> Key: HIVE-12223
> URL: https://issues.apache.org/jira/browse/HIVE-12223
> Project: Hive
> Issue Type: Bug
> Components: Logical Optimizer
> Affects Versions: 1.3.0, 2.0.0
> Reporter: Jesus Camacho Rodriguez
> Assignee: Jesus Camacho Rodriguez
> Fix For: 1.3.0, 2.0.0
>
>
> Consider the following query:
> {noformat}
> SELECT key, value, GROUPING__ID, count(*)
> FROM T1
> GROUP BY key, value
> GROUPING SETS ((), (key))
> HAVING GROUPING__ID = 1
> {noformat}
> This query will not return results. The reason is that a "constant"
> placeholder is introduced by SemanticAnalyzer for the GROUPING\__ID column.
> At execution time, this placeholder is replaced by the actual value of the
> GROUPING\__ID. As it is a constant, the Hive optimizer will evaluate
> statically whether the condition is met or not, leading to incorrect results.
> A possible solution is to transform the placeholder constant into a function
> over the grouping keys.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)