You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "jackylau (Jira)" <ji...@apache.org> on 2023/06/08 02:55:00 UTC
[jira] [Comment Edited] (CALCITE-5707) Add ARRAY_CONTAINS for Spark dialect
[ https://issues.apache.org/jira/browse/CALCITE-5707?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17730345#comment-17730345 ]
jackylau edited comment on CALCITE-5707 at 6/8/23 2:54 AM:
-----------------------------------------------------------
i modify the description if issue and pr
{code:java}
// code placeholder
spark: array_contains(array[1, null], null) -> null
flink: array_contains(array[1, null], null) -> true {code}
{code:java}
// flink
public static final BuiltInFunctionDefinition ARRAY_CONTAINS =
BuiltInFunctionDefinition.newBuilder()
.name("ARRAY_CONTAINS")
.kind(SCALAR)
.inputTypeStrategy(
sequence(
Arrays.asList("haystack", "needle"),
Arrays.asList(
logical(LogicalTypeRoot.ARRAY), ARRAY_ELEMENT_ARG)))
.outputTypeStrategy(
nullableIfArgs(
ConstantArgumentCount.of(0), explicit(DataTypes.BOOLEAN())))
.runtimeClass(
"org.apache.flink.table.runtime.functions.scalar.ArrayContainsFunction")
.build();
spark
case class ArrayContains(left: Expression, right: Expression)
extends BinaryExpression with ImplicitCastInputTypes with NullIntolerant with Predicate
with QueryErrorsBase {
/**
* When an expression inherits this, meaning the expression is null intolerant (i.e. any null
* input will result in null output). We will use this information during constructing IsNotNull
* constraints.
*/
trait NullIntolerant extends Expression {code}
was (Author: jackylau):
i modify the description if issue and pr
{code:java}
// code placeholder
spark: array_contains(array[1, null], null) -> null
flink: array_contains(array[1, null], null) -> true {code}
> Add ARRAY_CONTAINS for Spark dialect
> ------------------------------------
>
> Key: CALCITE-5707
> URL: https://issues.apache.org/jira/browse/CALCITE-5707
> Project: Calcite
> Issue Type: Improvement
> Components: core
> Affects Versions: 1.34.0
> Reporter: jackylau
> Assignee: jackylau
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.35.0
>
>
> ARRAY_CONTAINS - Returns true if the array contains the value
> For more details
> [https://spark.apache.org/docs/latest/sql-ref-functions-builtin.html]
> {code:java}
> // code placeholder
> spark: array_contains(array[1, null], null) -> null
> flink: array_contains(array[1, null], null) -> true {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)