hongyu guo created CALCITE-6116: ----------------------------------- Summary: Add EXISTS function (enabled in Spark library) Key: CALCITE-6116 URL: https://issues.apache.org/jira/browse/CALCITE-6116 Project: Calcite Issue Type: Improvement Components: core Affects Versions: 1.36.0 Reporter: hongyu guo Assignee: hongyu guo Fix For: 1.37.0
exists(expr, pred) - Tests whether a predicate holds for one or more elements in the array. {code:sql} > SELECT `EXISTS`(array(1, 2, 3), x -> x % 2 == 0); true > SELECT `EXISTS`(array(1, 2, 3), x -> x % 2 == 10); false > SELECT `EXISTS`(array(1, null, 3), x -> x % 2 == 0); NULL > SELECT `EXISTS`(array(0, null, 2, 3, null), x -> x IS NULL); true > SELECT `EXISTS`(array(1, 2, 3), x -> x IS NULL); false {code} In Calcite, EXISTS is a keyword, so we need to specify the function with back quotes. Moreover, `EXISTS` is a higher-order function, and if we want to support higher-order functions in Calcite, we must first support lambda expressions -- This message was sent by Atlassian Jira (v8.20.10#820010)