[ 
https://issues.apache.org/jira/browse/CALCITE-4198?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated CALCITE-4198:
------------------------------------
    Labels: pull-request-available  (was: )

> Query contains AVG function, materialized view contains SUM and COUNT 
> functions, and materialized recognition fails
> -------------------------------------------------------------------------------------------------------------------
>
>                 Key: CALCITE-4198
>                 URL: https://issues.apache.org/jira/browse/CALCITE-4198
>             Project: Calcite
>          Issue Type: Wish
>            Reporter: xzh_dz
>            Assignee: zhishui
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> There is a semantic equivalent case, which should be able to materialize and 
> identify successfully, materialized view can express the calculation logic of 
> query,but failed. This case can be reproduced as below.
> {code:java}
> // MaterializedViewSubstitutionVisitorTest
> @Test void testAvgMvMatch() {
>   sql(
>       "select \"empid\", sum(\"salary\"), count(\"salary\") from \"emps\" 
> where \"empid\" > 10 group by \"empid\"",
>       "select \"empid\", avg(\"salary\") from \"emps\" where \"empid\" > 10 
> group by \"empid\"")
>       .ok();
> }
> {code}
> The error message:
> {code:java}
> java.lang.AssertionError: Materialized view failed to be matched by optimized 
> results:java.lang.AssertionError: Materialized view failed to be matched by 
> optimized results: at 
> org.apache.calcite.test.AbstractMaterializedViewTest.checkMaterialize(AbstractMaterializedViewTest.java:112)
>  at 
> org.apache.calcite.test.AbstractMaterializedViewTest.access$000(AbstractMaterializedViewTest.java:64)
>  at 
> org.apache.calcite.test.AbstractMaterializedViewTest$Sql.ok(AbstractMaterializedViewTest.java:227)
>  at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627) 
> at 
> org.apache.calcite.util.ImmutableBeans.lambda$makeDef$3(ImmutableBeans.java:275)
>  at 
> org.apache.calcite.util.ImmutableBeans$BeanImpl.invoke(ImmutableBeans.java:446)
>  at com.sun.proxy.$Proxy12.ok(Unknown Source) at 
> org.apache.calcite.test.MaterializedViewSubstitutionVisitorTest.testAvgMvMatch(MaterializedViewSubstitutionVisitorTest.java:101)
>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  at java.lang.reflect.Method.invoke(Method.java:498)
> {code}



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

Reply via email to