predicate_funcs Expression Audits#
Audit notes for expressions in this category that have been audited. Absence of an entry means the expression has not been audited yet, not that it is unsupported. See the user guide Spark Expression Support for current support status.
!#
Spark 3.4.3 (audited 2026-05-27): registry alias of
Not. Same support asnot.Spark 3.5.8 (audited 2026-05-27): identical to 3.4.3.
Spark 4.0.1 (audited 2026-05-27): identical to 3.4.3.
Spark 4.1.1 (audited 2026-05-27): identical to 3.4.3.
<#
Spark 3.4.3 (audited 2026-05-27): identical to 3.5.8.
Spark 3.5.8 (audited 2026-05-27): baseline.
LessThan(left, right) extends BinaryComparison. Comet routes viaCometLessThanto the proto’sltbinary expression.Spark 4.0.1 (audited 2026-05-27): semantics unchanged.
Spark 4.1.1 (audited 2026-05-27): identical to 4.0.1.
<=#
Spark 3.4.3 (audited 2026-05-27): identical to 3.5.8.
Spark 3.5.8 (audited 2026-05-27): baseline.
LessThanOrEqual(left, right) extends BinaryComparison. Comet routes viaCometLessThanOrEqualto the proto’slt_eqbinary expression.Spark 4.0.1 (audited 2026-05-27): semantics unchanged.
Spark 4.1.1 (audited 2026-05-27): identical to 4.0.1.
<=>#
Spark 3.4.3 (audited 2026-05-27): identical to 3.5.8.
Spark 3.5.8 (audited 2026-05-27): baseline.
EqualNullSafe(left, right) extends BinaryComparison; treats two NULLs as equal and a NULL with a non-NULL as not equal. Comet routes viaCometEqualNullSafeto the proto’seq_null_safebinary expression.Spark 4.0.1 (audited 2026-05-27): semantics unchanged.
Spark 4.1.1 (audited 2026-05-27): identical to 4.0.1.
=#
Spark 3.4.3 (audited 2026-05-27): identical to 3.5.8.
Spark 3.5.8 (audited 2026-05-27): baseline.
EqualTo(left, right) extends BinaryComparison. Comet routes viaCometEqualToto the proto’seqbinary expression.Spark 4.0.1 (audited 2026-05-27): semantics unchanged.
Spark 4.1.1 (audited 2026-05-27): identical to 4.0.1.
==#
Spark 3.4.3 (audited 2026-05-27): registry alias of
EqualTo. Same support as=.Spark 3.5.8 (audited 2026-05-27): identical to 3.4.3.
Spark 4.0.1 (audited 2026-05-27): identical to 3.4.3.
Spark 4.1.1 (audited 2026-05-27): identical to 3.4.3.
>#
Spark 3.4.3 (audited 2026-05-27): identical to 3.5.8.
Spark 3.5.8 (audited 2026-05-27): baseline.
GreaterThan(left, right) extends BinaryComparison. Comet routes viaCometGreaterThanto the proto’sgtbinary expression.Spark 4.0.1 (audited 2026-05-27): semantics unchanged.
Spark 4.1.1 (audited 2026-05-27): identical to 4.0.1.
>=#
Spark 3.4.3 (audited 2026-05-27): identical to 3.5.8.
Spark 3.5.8 (audited 2026-05-27): baseline.
GreaterThanOrEqual(left, right) extends BinaryComparison. Comet routes viaCometGreaterThanOrEqualto the proto’sgt_eqbinary expression.Spark 4.0.1 (audited 2026-05-27): semantics unchanged.
Spark 4.1.1 (audited 2026-05-27): identical to 4.0.1.
and#
Spark 3.4.3 (audited 2026-05-27): identical to 3.5.8.
Spark 3.5.8 (audited 2026-05-27): baseline.
And(left, right) extends BinaryOperator with Predicate; short-circuit left-to-right. Comet routes viaCometAndto the proto’sandbinary expression.Spark 4.0.1 (audited 2026-05-27): semantics unchanged.
Spark 4.1.1 (audited 2026-05-27): identical to 4.0.1.
between#
Spark 3.4.3 (audited 2026-05-27): the SQL form
expr BETWEEN low AND highis rewritten at the parser level toexpr >= low AND expr <= high. Comet sees only the resultingAnd(GreaterThanOrEqual, LessThanOrEqual)and routes viaCometAnd+CometGreaterThanOrEqual+CometLessThanOrEqual.Spark 3.5.8 (audited 2026-05-27): identical to 3.4.3.
Spark 4.0.1 (audited 2026-05-27): identical to 3.4.3.
Spark 4.1.1 (audited 2026-05-27): identical to 3.4.3.
ilike#
Spark 3.4.3 (audited 2026-05-27): identical to 3.5.8.
Spark 3.5.8 (audited 2026-05-27): baseline.
ILike(left, right, escapeChar) extends RuntimeReplaceable; the analyzer rewrites toLike(Lower(left), Lower(right), escapeChar). Comet handles viaCometLikeandCometLower(case-conversion path, gated byspark.comet.caseConversion.enabled=falseby default).Spark 4.0.1 (audited 2026-05-27): identical to 3.5.8.
Spark 4.1.1 (audited 2026-05-27): identical to 4.0.1.
in#
Spark 3.4.3 (audited 2026-05-27): identical to 3.5.8.
Spark 3.5.8 (audited 2026-05-27): baseline.
In(value, list: Seq[Expression]) extends Predicate; NULL-sensitive set membership (NULL in any element of the list yields NULL when no match found). Comet routes viaCometInto the proto’sInexpression withnegated = false;InSetis rewritten toInso the native side can perform its own set-lookup optimization.Spark 4.0.1 (audited 2026-05-27): semantics unchanged.
Spark 4.1.1 (audited 2026-05-27): identical to 4.0.1.
isnan#
Spark 3.4.3 (audited 2026-05-27): identical to 3.5.8.
Spark 3.5.8 (audited 2026-05-27): baseline.
IsNaN(child) extends UnaryExpression; returnsBooleanType;falsefor NULL or non-float types. Comet routes viaCometIsNaNto the nativeisnanscalar.Spark 4.0.1 (audited 2026-05-27): semantics unchanged.
Spark 4.1.1 (audited 2026-05-27): identical to 4.0.1.
isnotnull#
Spark 3.4.3 (audited 2026-05-27): identical to 3.5.8.
Spark 3.5.8 (audited 2026-05-27): baseline.
IsNotNull(child) extends UnaryExpression with Predicate. Comet routes viaCometIsNotNullto the proto’sis_not_nullunary expression.Spark 4.0.1 (audited 2026-05-27): semantics unchanged.
Spark 4.1.1 (audited 2026-05-27): identical to 4.0.1.
isnull#
Spark 3.4.3 (audited 2026-05-27): identical to 3.5.8.
Spark 3.5.8 (audited 2026-05-27): baseline.
IsNull(child) extends UnaryExpression with Predicate. Comet routes viaCometIsNullto the proto’sis_nullunary expression.Spark 4.0.1 (audited 2026-05-27): semantics unchanged.
Spark 4.1.1 (audited 2026-05-27): identical to 4.0.1.
like#
See
string_funcs / like(audited in PR #4461).CometLikeonly supports the default\\escape character.
not#
Spark 3.4.3 (audited 2026-05-27): identical to 3.5.8.
Spark 3.5.8 (audited 2026-05-27): baseline.
Not(child) extends UnaryExpression with Predicate. Comet routes viaCometNot, which optimizes a few special cases:Not(EqualTo)-> protoneq,Not(EqualNullSafe)-> protoneq_null_safe,Not(In)-> protoIn(negated = true).Spark 4.0.1 (audited 2026-05-27): semantics unchanged.
Spark 4.1.1 (audited 2026-05-27): identical to 4.0.1.
or#
Spark 3.4.3 (audited 2026-05-27): identical to 3.5.8.
Spark 3.5.8 (audited 2026-05-27): baseline.
Or(left, right) extends BinaryOperator with Predicate; short-circuit left-to-right. Comet routes viaCometOrto the proto’sorbinary expression.Spark 4.0.1 (audited 2026-05-27): semantics unchanged.
Spark 4.1.1 (audited 2026-05-27): identical to 4.0.1.
rlike#
See
string_funcs / regexp_replaceand theCometRLikenotes (audited in PR #4461). Uses the Rustregexcrate, which differs from Java’sPatternengine; requiresspark.comet.expression.regexp.allowIncompatible=true.