Class LikeAnyAllExpression
java.lang.Object
dev.frostlake.executor.expressions.LikeAnyAllExpression
- All Implemented Interfaces:
Expression
Snowflake multi-pattern matching:
x LIKE ANY (p1, p2, …), x LIKE ALL (…) and
x ILIKE ANY (…), with an optional shared ESCAPE. This is NOT the OR/AND expansion of the
single-pattern predicate: Snowflake skips NULL patterns entirely (live-verified —
'a' LIKE ALL ('a', NULL) is TRUE and 'a' LIKE ANY ('b', NULL) is FALSE, where
three-valued logic would say NULL), returning NULL only for a NULL subject or when every pattern
is NULL.-
Constructor Summary
ConstructorsConstructorDescriptionLikeAnyAllExpression(Expression subject, List<Expression> patterns, boolean all, boolean caseInsensitive, Expression escape) -
Method Summary
Modifier and TypeMethodDescription<T> Taccept(ExpressionVisitor<T> visitor) Accept a visitor for the visitor patternWhere the LIKE or ILIKE keyword sits, where live points a collation the predicate refuses.booleanisAll()booleanvoidsetPosition(SourcePosition position) toString()
-
Constructor Details
-
LikeAnyAllExpression
public LikeAnyAllExpression(Expression subject, List<Expression> patterns, boolean all, boolean caseInsensitive, Expression escape)
-
-
Method Details
-
getSubject
-
getPatterns
-
isAll
public boolean isAll() -
isCaseInsensitive
public boolean isCaseInsensitive() -
getEscape
-
getPosition
Where the LIKE or ILIKE keyword sits, where live points a collation the predicate refuses. -
setPosition
-
accept
Description copied from interface:ExpressionAccept a visitor for the visitor pattern- Specified by:
acceptin interfaceExpression
-
toString
-