MCPcopy Create free account
hub / github.com/MaterializeInc/materialize / array_contains_array

Function array_contains_array

src/expr/src/scalar/func.rs:2821–2832  ·  view source on GitHub ↗
(a: Array<'a>, b: Array<'a>)

Source from the content-addressed store, hash-verified

2819
2820#[sqlfunc(is_infix_op = true, sqlname = "@>")]
2821fn array_contains_array<'a>(a: Array<'a>, b: Array<'a>) -> bool {
2822 let a = a.elements();
2823 let b = b.elements();
2824
2825 // NULL is never equal to NULL. If NULL is an element of b, b cannot be contained in a, even if a contains NULL.
2826 if b.iter().contains(&Datum::Null) {
2827 false
2828 } else {
2829 b.iter()
2830 .all(|item_b| a.iter().any(|item_a| item_a == item_b))
2831 }
2832}
2833
2834#[sqlfunc(is_infix_op = true, sqlname = "<@")]
2835fn array_contains_array_rev<'a>(a: Array<'a>, b: Array<'a>) -> bool {

Callers 1

array_contains_array_revFunction · 0.85

Calls 5

elementsMethod · 0.80
allMethod · 0.80
anyMethod · 0.80
containsMethod · 0.45
iterMethod · 0.45

Tested by

no test coverage detected