You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "xzh_dz (Jira)" <ji...@apache.org> on 2020/10/21 03:51:00 UTC

[jira] [Comment Edited] (CALCITE-4348) Materialization recognition fails when query has calculation expression

    [ https://issues.apache.org/jira/browse/CALCITE-4348?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17218091#comment-17218091 ] 

xzh_dz edited comment on CALCITE-4348 at 10/21/20, 3:50 AM:
------------------------------------------------------------

[~julianhyde]

Thanks, It seems like that can not preserves line breaks, I use a screenshot to illustrate the exception information.By the way, We have encountered a large number of use cases of materialized view recognition, through the external materialized view recognition rules[1] can help us to solve these problems.

[1] [Add an interface in RelOptMaterializations to allow registering UnifyRule|https://github.com/apache/calcite/pull/2094]


was (Author: xzh_dz):
[~julianhyde]

Thanks, It seems like that can not preserves line breaks, I use a screenshot to illustrate the exception information.By the way, We have encountered a large number of use cases of materialized view recognition, through the external materialized view recognition rules[1] can help us to solve these problems.

[1] [https://github.com/apache/calcite/pull/2094|Add an interface in RelOptMaterializations to allow registering UnifyRule]

> Materialization recognition fails when query has calculation expression
> -----------------------------------------------------------------------
>
>                 Key: CALCITE-4348
>                 URL: https://issues.apache.org/jira/browse/CALCITE-4348
>             Project: Calcite
>          Issue Type: Wish
>            Reporter: xzh_dz
>            Priority: Major
>         Attachments: image-2020-10-21-11-40-08-353.png
>
>
> The following example should be recognized by materialized views, but failed.
> {code:java}
> // code placeholder
> org.apache.calcite.test.MaterializedViewSubstitutionVisitorTest
> @Test void testAggregateComplexExpression() {
>   String mv = ""
>       + "select \"deptno\", \"salary\", count(\"commission\")\n"
>       + "from \"emps\"\n"
>       + "group by \"deptno\", \"salary\"";
>   String query = ""
>       + "select \"deptno\" + \"salary\", count(\"commission\")\n"
>       + "from \"emps\"\n"
>       + "group by \"deptno\" + \"salary\"";
>   sql(mv, query).ok();
> }
> {code}
> {code:java}
> Query:
> Aggregate(groupSet: {0}, groupSets: [{0}], calls: [COUNT($1)])
>     Calc(program: (expr#0..4=[{inputs}], expr#5=[+($t1, $t3)], $f0=[$t5], commission=[$t4]))
>       Scan(table: [hr, emps])
> mv:
> Aggregate(groupSet: {0, 1}, groupSets: [{0, 1}], calls: [COUNT($2)])
>   Calc(program: (expr#0..4=[{inputs}], deptno=[$t1], salary=[$t3], commission=[$t4]))
>     Scan(table: [hr, emps]){code}
> Exception:
> !image-2020-10-21-11-40-08-353.png|width=606,height=223!
>  
>  
>  



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