[
https://issues.apache.org/jira/browse/FLINK-41344?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ramin Gharib reassigned FLINK-41344:
------------------------------------
Assignee: Ramin Gharib
> Add VARIANT_CONTAINS with a shared value-equality rule
> ------------------------------------------------------
>
> Key: FLINK-41344
> URL: https://issues.apache.org/jira/browse/FLINK-41344
> Project: Flink
> Issue Type: Sub-task
> Components: Table SQL / API, Table SQL / Runtime
> Reporter: Ramin Gharib
> Assignee: Ramin Gharib
> Priority: Major
>
> {code:sql}
> VARIANT_CONTAINS(variant, needle) -- BOOLEAN
> VARIANT_CONTAINS(v, PARSE_JSON('{"user":{"name":"ada"}}')) -- TRUE
> {code}
> Scope:
> * An object contains another when it has each of its keys, and each value
> contains the needle's value.
> * An array contains another when each needle element is contained in some
> element, in any order.
> * Scalars match by one equality rule, kept in one place so later VARIANT
> equality work can reuse it. Numbers are equal by value whatever size they are
> stored in, so a 1 in 1 byte equals a 1 in 8 bytes. Other scalars need the
> same type and value. A variant null equals only a variant null. The list of
> field names a value carries does not matter.
> * SQL NULL gives NULL.
> * Table API and PyFlink expressions, SQL and Table API tests, docs.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)