You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by "Vladimir Sitnikov (Jira)" <ji...@apache.org> on 2020/01/04 19:55:00 UTC

[jira] [Created] (CALCITE-3682) MaterializationService#defineMaterialization loses information on unique keys

Vladimir Sitnikov created CALCITE-3682:
------------------------------------------

             Summary: MaterializationService#defineMaterialization loses information on unique keys
                 Key: CALCITE-3682
                 URL: https://issues.apache.org/jira/browse/CALCITE-3682
             Project: Calcite
          Issue Type: Bug
          Components: core
    Affects Versions: 1.21.0
            Reporter: Vladimir Sitnikov


The impacted test is testAggregateMaterializationOnCountDistinctQuery1

The test defines materialized view for the following SQL:
{code:sql}select deptno, empid, salary from emps group by deptno, empid, salary{code}

In practice, the optimizer might be able to tell that empid is a unique key, thus it could understand the grouping is not needed.
However, when it defines a materialized view, it loses uniqueness information, so it declares the view as

{code:sql}select deptno, empid, salary from emps{code}
and the uniqueness is not there.

org.apache.calcite.materialize.MaterializationService.DefaultTableFactory should probably compute metadata (e.g. unique keys, something else?) and propagate it to the materialized view.



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