[
https://issues.apache.org/jira/browse/CALCITE-2147?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16336136#comment-16336136
]
Ravindar commented on CALCITE-2147:
-----------------------------------
[~julianhyde]
The convertGroupSet() in SqlValidatorUtil.java was not handling the embeded
ROLLUP/CUBE operators. If the nodes are expanded, the failed query works fine.
I have the fix and more test cases in my branch. Let me know if i can open a
pull request for my changes.
thanks
> GroupingSets involving rollup resulting into an incorrect plan
> --------------------------------------------------------------
>
> Key: CALCITE-2147
> URL: https://issues.apache.org/jira/browse/CALCITE-2147
> Project: Calcite
> Issue Type: Bug
> Reporter: Vamshi
> Assignee: Julian Hyde
> Priority: Major
>
> Problem description:
> When rollup or cube expressions are specified as input to grouping_sets ,then
> instead of handling the rollup or cube expression in LogicalAggregate
> operator they are handled in LogicalProject operator which is incorrect.
>
> Basically grouping_sets with rollup/cube expressions as input is not
> flattened into logical aggregate operator.
>
> Problem Test case:
> create table temp11(a integer, b integer);
> select a,b,count(*) from temp11 group by grouping sets(rollup(a,b),a,b,());
> Test Case output:
> {
> "rels": [
> {
> "id": "0",
> "relOp": "LogicalTableScan",
> "table": [
> "CATALOG",
> "temp11"
> ],
> "inputs": []
> },
> {
> "id": "1",
> "relOp": "LogicalProject",
> "fields": [
> "$f0",
> "a",
> "b"
> ],
> "exprs": [
> {
> "op": "ROLLUP", <<--- Incorrect expressioin in
> LogicalProject operator.
> "operands": [
> {
> "input": 0,
> "name": "$0"
> },
> {
> "input": 1,
> "name": "$1"
> }
> ]
> },
> {
> "input": 0,
> "name": "$0"
> },
> {
> "input": 1,
> "name": "$1"
> }
> ]
> },
> {
> "id": "2",
> "relOp": "LogicalAggregate",
> "group": [
> 0,
> 1,
> 2
> ],
> "groups": [
> [
> 0
> ],
> [
> 1
> ],
> [
> 2
> ],
> []
> ],
> "aggs": [
> {
> "agg": "COUNT",
> "type": {
> "type": "BIGINT",
> "nullable": false
> },
> "distinct": false,
> "operands": []
> }
> ]
> },
> {
> "id": "3",
> "relOp": "LogicalProject",
> "fields": [
> "a",
> "b",
> "EXPR$2"
> ],
> "exprs": [
> {
> "input": 1,
> "name": "$1"
> },
> {
> "input": 2,
> "name": "$2"
> },
> {
> "input": 3,
> "name": "$3"
> }
> ]
> }
> ]
> }
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)