[
https://issues.apache.org/jira/browse/CALCITE-6027?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18090764#comment-18090764
]
Yu Xu commented on CALCITE-6027:
--------------------------------
Although I submitted a PR, as discussed in the PR, this is a very extreme
boundary condition. Theoretically, there are a great many possible cases for
this optimization, and the likelihood of encountering this problem in reality
seems extremely small.
> Simplify the cardinality on map_keys and map_values functions
> -------------------------------------------------------------
>
> Key: CALCITE-6027
> URL: https://issues.apache.org/jira/browse/CALCITE-6027
> Project: Calcite
> Issue Type: New Feature
> Components: core
> Affects Versions: 1.35.0
> Reporter: Ran Tao
> Assignee: Yu Xu
> Priority: Major
> Labels: pull-request-available
>
> when we call cardinality on map_keys or map_values, such as:
> {code:java}
> select cardinality(map_keys(map['foo', 1, 'bar', 2]));
> select cardinality(map_values(map['foo', 1, 'bar', 2]));{code}
> they can be safely simplified to
> {code:java}
> select cardinality(map['foo', 1, 'bar', 2]);
> select cardinality(map['foo', 1, 'bar', 2]); {code}
>
> {{cardinality(map_keys(m))}} → {{cardinality(m)}}
> {{cardinality(map_values(m))}} → {{cardinality(m)}}
>
> Some other mature engines such as presto/trino has same optimized logic.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)