Julian Hyde created CALCITE-3815: ------------------------------------ Summary: 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
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)