[
https://issues.apache.org/jira/browse/CALCITE-4511?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17321814#comment-17321814
]
Julian Hyde commented on CALCITE-4511:
--------------------------------------
Reviewing now; looks good and will merge soon.
Is your definition of 'constant' a bit too limiting? For example, in the
following queries {{one}} and {{deptno}} are effectively constant even though
they are not literals:
{code}
select one
from ( select *, 1 as one from emp);
select deptno
from emp
where deptno = 20;
{code}
Please log a follow-up JIRA case if it makes sense.
> The distinct row count and population size for constant columns should be 1
> ---------------------------------------------------------------------------
>
> Key: CALCITE-4511
> URL: https://issues.apache.org/jira/browse/CALCITE-4511
> Project: Calcite
> Issue Type: Improvement
> Components: core
> Reporter: Liya Fan
> Assignee: Liya Fan
> Priority: Major
> Labels: pull-request-available
> Time Spent: 40m
> Remaining Estimate: 0h
>
> Suppose we have a relation with 3 columns: {{(a, '1', '2')}}. The first
> column comes from an underlying table, while the other two columns are
> constants.
> For this relation, we should have {{NDV(1) = 1}}, since column 1 is a
> constant, which have only one possible value (suppose the column index starts
> from 0).
> Similarly, we should have {{NDV(1, 2) = 1}}, since both columns are constants.
> We should also have {{NDV(0, 1) == NDV(0)}}, because the number of distinct
> values depends on the non-const column, which is {{a}} from the underlying
> table.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)