Rajesh Balamohan created HIVE-23884:
---------------------------------------

             Summary: SemanticAnalyze exception when addressing field with 
table name in group by
                 Key: HIVE-23884
                 URL: https://issues.apache.org/jira/browse/HIVE-23884
             Project: Hive
          Issue Type: Bug
            Reporter: Rajesh Balamohan


{noformat}
explain cbo 
select  `item`.`i_item_id`,
`store`.`s_state`, grouping(s_state) `g_state` from  
`tpcds_bin_partitioned_orc_10000`.`store`, 
`tpcds_bin_partitioned_orc_10000`.`item`
where `store`.`s_state` in ('AL','IN', 'SC', 'NY', 'OH', 'FL')
group by rollup (`item`.`i_item_id`, `s_state`)

CBO PLAN:


HiveProject(i_item_id=[$0], s_state=[$1], g_state=[grouping($2, 0:BIGINT)])
  HiveAggregate(group=[{0, 1}], groups=[[{0, 1}, {0}, {}]], 
GROUPING__ID=[GROUPING__ID()])
    HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not 
available])
      HiveProject(i_item_id=[$1])
        HiveTableScan(table=[[tpcds_bin_partitioned_orc_10000, item]], 
table:alias=[item])
      HiveProject(s_state=[$24])
        HiveFilter(condition=[IN($24, _UTF-16LE'AL', _UTF-16LE'IN', 
_UTF-16LE'SC', _UTF-16LE'NY', _UTF-16LE'OH', _UTF-16LE'FL')])
          HiveTableScan(table=[[tpcds_bin_partitioned_orc_10000, store]], 
table:alias=[store])
{noformat}
 

However, adding fully qualified field name "*`store`.`s_state`*"" in the second 
rollup throws SemanticAnalyzer exception

 
{noformat}
explain cbo 
select  `item`.`i_item_id`,
`store`.`s_state`, grouping(s_state) `g_state` from  
`tpcds_bin_partitioned_orc_10000`.`store`, 
`tpcds_bin_partitioned_orc_10000`.`item`
where `store`.`s_state` in ('AL','IN', 'SC', 'NY', 'OH', 'FL')
group by rollup (`item`.`i_item_id`, `store`.`s_state`)

Error: Error while compiling statement: FAILED: RuntimeException [Error 10409]: 
Expression in GROUPING function not present in GROUP BY (state=42000,code=10409)

{noformat}
Exception: based on 3.x; but mostly should occur in master as well.

Related ticket: https://issues.apache.org/jira/browse/HIVE-15996
{noformat}
Caused by: java.lang.RuntimeException: Expression in GROUPING function not 
present in GROUP BY
        at 
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer$2.post(SemanticAnalyzer.java:3296)
 ~[hive-exec-3.1xyz]
        at org.antlr.runtime.tree.TreeVisitor.visit(TreeVisitor.java:66) 
~[antlr-runtime-3.5.2.jar:3.5.2]
        at 
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.rewriteGroupingFunctionAST(SemanticAnalyzer.java:3305)
 ~[hive-exec-3.1xyz]
        at 
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genSelectPlan(SemanticAnalyzer.java:4616)
 ~[hive-exec-3.1xyz]
        at 
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genSelectPlan(SemanticAnalyzer.java:4392)
 ~[hive-exec-3.1xyz]
        at 
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genPostGroupByBodyPlan(SemanticAnalyzer.java:11026)
 ~[hive-exec-3.1xyz]
        at 
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genBodyPlan(SemanticAnalyzer.java:10965)
 ~[hive-exec-3.1xyz]
        at 
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genPlan(SemanticAnalyzer.java:11894)
 ~[hive-exec-3.1xyz]
        at 
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genPlan(SemanticAnalyzer.java:11764)
 ~[hive-exec-3.1xyz]
        at 
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genOPTree(SemanticAnalyzer.java:12568)
 ~[hive-exec-3.1xyz]
        at 
org.apache.hadoop.hive.ql.parse.CalcitePlanner.genOPTree(CalcitePlanner.java:707)
 ~[hive-exec-3.1xyz]
        at 
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:12669)
 ~[hive-exec-3.1xyz]
        at 
org.apache.hadoop.hive.ql.parse.CalcitePlanner.analyzeInternal(CalcitePlanner.java:426)
 ~[hive-exec-3.1xyz]
        at 
org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:288)
 ~[hive-exec-3.1xyz]
        at 
org.apache.hadoop.hive.ql.parse.ExplainSemanticAnalyzer.analyzeInternal(ExplainSemanticAnalyzer.java:170)
 ~[hive-exec-3.1xyz]
        at 
org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:288)
 ~[hive-exec-3.1xyz]
        at org.apache.hadoop.hive.ql.Compiler.analyze(Compiler.java:221) 
~[hive-exec-3.1xyz]
        at org.apache.hadoop.hive.ql.Compiler.compile(Compiler.java:104) 
~[hive-exec-3.1xyz]
        at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:188) 
~[hive-exec-3.1xyz]
        at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:598) 
~[hive-exec-3.1xyz]
        at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:544) 
~[hive-exec-3.1xyz]
        at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:538) 
~[hive-exec-3.1xyz]
        at 
org.apache.hadoop.hive.ql.reexec.ReExecDriver.compileAndRespond(ReExecDriver.java:127)
 ~[hive-exec-3.1xyz
{noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to