[
https://issues.apache.org/jira/browse/IMPALA-12836?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17819630#comment-17819630
]
Daniel Becker commented on IMPALA-12836:
----------------------------------------
We should provide a better error message but I don't think this is supposed to
work because equality is not implemented for complex types so we can't group by
structs.
> Aggregation over a STRUCT throws IllegalStateException
> ------------------------------------------------------
>
> Key: IMPALA-12836
> URL: https://issues.apache.org/jira/browse/IMPALA-12836
> Project: IMPALA
> Issue Type: Bug
> Components: Frontend
> Affects Versions: Impala 4.4.0
> Reporter: Tamas Mate
> Priority: Major
>
> A Preconditions check will fail when trying to aggregate over a struct.
> Repro query:
> {code}
> Query: select int_struct_col, sum(id) from functional_parquet.allcomplextypes
> group by int_struct_col
> Query submitted at: 2024-02-22 13:08:20 (Coordinator:
> http://tmate-desktop:25000)
> ERROR: IllegalStateException: null
> {code}
> {code:java}
> I0222 13:05:21.762225 10675 jni-util.cc:302]
> 3c44b4fafbbcb6b5:eee0329700000000] java.lang.IllegalStateException
> at
> com.google.common.base.Preconditions.checkState(Preconditions.java:486)
> at
> org.apache.impala.analysis.SlotRef.addStructChildrenAsSlotRefs(SlotRef.java:268)
> at org.apache.impala.analysis.SlotRef.<init>(SlotRef.java:93)
> at
> org.apache.impala.analysis.AggregateInfoBase.createTupleDesc(AggregateInfoBase.java:135)
> at
> org.apache.impala.analysis.AggregateInfoBase.createTupleDescs(AggregateInfoBase.java:101)
> at
> org.apache.impala.analysis.AggregateInfo.create(AggregateInfo.java:150)
> at
> org.apache.impala.analysis.AggregateInfo.create(AggregateInfo.java:171)
> at
> org.apache.impala.analysis.MultiAggregateInfo.analyze(MultiAggregateInfo.java:301)
> at
> org.apache.impala.analysis.SelectStmt$SelectAnalyzer.buildAggregateExprs(SelectStmt.java:1149)
> at
> org.apache.impala.analysis.SelectStmt$SelectAnalyzer.analyze(SelectStmt.java:355)
> at
> org.apache.impala.analysis.SelectStmt$SelectAnalyzer.access$100(SelectStmt.java:282)
> at org.apache.impala.analysis.SelectStmt.analyze(SelectStmt.java:274)
> at
> org.apache.impala.analysis.AnalysisContext.analyze(AnalysisContext.java:545)
> at
> org.apache.impala.analysis.AnalysisContext.analyzeAndAuthorize(AnalysisContext.java:492)
> at
> org.apache.impala.service.Frontend.doCreateExecRequest(Frontend.java:2364)
> at
> org.apache.impala.service.Frontend.getTExecRequest(Frontend.java:2110)
> at
> org.apache.impala.service.Frontend.createExecRequest(Frontend.java:1883)
> at
> org.apache.impala.service.JniFrontend.createExecRequest(JniFrontend.java:169)
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]