core.0.42.0.source-code.functions_boolean.yaml Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of core Show documentation
Show all versions of core Show documentation
Create a well-defined, cross-language specification for data compute operations
%YAML 1.2
---
scalar_functions:
-
name: or
description: >
The boolean `or` using Kleene logic.
This function behaves as follows with nulls:
true or null = true
null or true = true
false or null = null
null or false = null
null or null = null
In other words, in this context a null value really means "unknown", and
an unknown value `or` true is always true.
Behavior for 0 or 1 inputs is as follows:
or() -> false
or(x) -> x
impls:
- args:
- value: boolean?
name: a
variadic:
min: 0
return: boolean?
-
name: and
description: >
The boolean `and` using Kleene logic.
This function behaves as follows with nulls:
true and null = null
null and true = null
false and null = false
null and false = false
null and null = null
In other words, in this context a null value really means "unknown", and
an unknown value `and` false is always false.
Behavior for 0 or 1 inputs is as follows:
and() -> true
and(x) -> x
impls:
- args:
- value: boolean?
name: a
variadic:
min: 0
return: boolean?
-
name: and_not
description: >
The boolean `and` of one value and the negation of the other using Kleene logic.
This function behaves as follows with nulls:
true and not null = null
null and not false = null
false and not null = false
null and not true = false
null and not null = null
In other words, in this context a null value really means "unknown", and
an unknown value `and not` true is always false, as is false `and not` an
unknown value.
impls:
- args:
- value: boolean?
name: a
- value: boolean?
name: b
return: boolean?
-
name: xor
description: >
The boolean `xor` of two values using Kleene logic.
When a null is encountered in either input, a null is output.
impls:
- args:
- value: boolean?
name: a
- value: boolean?
name: b
return: boolean?
-
name: not
description: >
The `not` of a boolean value.
When a null is input, a null is output.
impls:
- args:
- value: boolean?
name: a
return: boolean?
aggregate_functions:
-
name: "bool_and"
description: >
If any value in the input is false, false is returned. If the input is
empty or only contains nulls, null is returned. Otherwise, true is
returned.
impls:
- args:
- value: boolean
name: a
nullability: DECLARED_OUTPUT
return: boolean?
-
name: "bool_or"
description: >
If any value in the input is true, true is returned. If the input is
empty or only contains nulls, null is returned. Otherwise, false is
returned.
impls:
- args:
- value: boolean
name: a
nullability: DECLARED_OUTPUT
return: boolean?
© 2015 - 2024 Weber Informatics LLC | Privacy Policy