You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Julian Hyde (Jira)" <ji...@apache.org> on 2022/05/19 22:11:00 UTC
[jira] [Commented] (CALCITE-5160) ANY, SOME functions should support scalar arrays
[ https://issues.apache.org/jira/browse/CALCITE-5160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17539826#comment-17539826 ]
Julian Hyde commented on CALCITE-5160:
--------------------------------------
{{ANY}} and {{SOME}} are not functions, they are operators that use the syntax "expression operator ANY (array expression)". Your description might make people think you are referring to the {{ANY}} and {{SOME}} aggregate functions (and the related {{EVERY}} aggregate function), which are totally different.
If you implement {{ANY}}/{{SOME}} operators for arrays you should also implement {{EVERY}}, and you should also implement for multisets.
Your second example,
{code:java}
SELECT 1 = SOME(<table>.<array_type_field> FROM <table>)
{code}
uses a syntax I am not familiar with, namely {{FROM}} without preceding {{SELECT}}. That seems to be to an orthogonal feature, and should be done in a separate Jira and PR.
> ANY, SOME functions should support scalar arrays
> ------------------------------------------------
>
> Key: CALCITE-5160
> URL: https://issues.apache.org/jira/browse/CALCITE-5160
> Project: Calcite
> Issue Type: Bug
> Components: core
> Reporter: Dmitry Sysolyatin
> Priority: Major
>
> At the moment ANY, SOME functions support subquery:
> {code}
> SELECT 1 = SOME (SELECT * FROM UNNEST(ARRAY[1,2,3]))
> {code}
> But if input argument is array, then query fails
> {code}
> SELECT 1 = SOME (ARRAY[1,2,3])
> SELECT 1 = SOME(<table>.<array_type_field> FROM <table>)
> {code}
> [https://www.postgresql.org/docs/current/functions-comparisons.html#id-1.5.8.30.16]
> It is useful for checking if a value exists in an array.
--
This message was sent by Atlassian Jira
(v8.20.7#820007)