[
https://issues.apache.org/jira/browse/CALCITE-3815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17057288#comment-17057288
]
Julian Hyde commented on CALCITE-3815:
--------------------------------------
[~hanu.ncr] I don't think you should even mention null. The standard behavior
of aggregate functions is that they ignore null values, and if they are applied
to the empty set (after removing null values) they return null. That rule
applies to pretty much all aggregate functions except COUNT (which returns 0
when applied to the empty set).
> Add missing SQL standard aggregate functions: EVERY, SOME, INTERSECTION
> -----------------------------------------------------------------------
>
> Key: CALCITE-3815
> URL: https://issues.apache.org/jira/browse/CALCITE-3815
> Project: Calcite
> Issue Type: Bug
> Reporter: Julian Hyde
> Assignee: Hanumath Rao Maduri
> Priority: Major
> Labels: pull-request-available
> Time Spent: 1.5h
> Remaining Estimate: 0h
>
> Add missing SQL standard aggregate functions: EVERY, SOME, INTERSECTION.
> Examples:
> {code}
> SELECT deptno,
> EVERY(sal < 3000) AS es, SOME(sal < 1000) AS ss,
> EVERY(comm < 500) AS ec, SOME(comm < 500) AS sc
> FROM emp
> GROUP BY deptno;
> +--------+-------+-------+-------+------+
> | DEPTNO | ES | SS | EC | SC |
> +--------+-------+-------+-------+------+
> | 10 | FALSE | FALSE | | |
> | 20 | FALSE | TRUE | | |
> | 30 | TRUE | TRUE | FALSE | TRUE |
> +--------+-------+-------+-------+------+
> {code}
> {{EVERY}} and {{SOME}} can be implemented by translating to {{MIN}}, {{MAX}}:
> * {{EVERY(condition)}} is equivalent to {{MIN(condition)}};
> * {{SOME(condition)}} is equivalent to {{MAX(condition)}}
> where {{condition}} is a {{BOOLEAN}} expression, possibly allowing {{NULL}}
> values).
> {{INTERSECTION}} computes the intersection of collections (arrays and
> multisets). (Compare to {{FUSION}}, which computes the union of collections.)
> {{FUSION}} is in the operator table but there is no code-generation for it.
> This task should implement {{FUSION}} and {{INTERSECTION}} so that we can run
> queries in Enumerable mode.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)