Class SqlExpressions
java.lang.Object
com.darkcollective.relix.plan.internal.SqlExpressions
Translates relix
Predicates and Operands into SQL text for
pushdown. Every method returns Optional.empty() when the construct has
no faithful SQL form (e.g. a scalar FunctionCall), which the pushdown
planner treats as "not pushable" and falls back to in-engine evaluation.
How an attribute reference becomes a SQL column is decided by a
SqlExpressions.ColumnRenderer: single-table pushdown drops any qualifier, while
join pushdown maps each reference to an unambiguous alias.column. A
renderer may itself return empty to reject an unresolvable or ambiguous
reference, which propagates up as "not pushable".
String literals are single-quoted with embedded quotes doubled. This keeps the generated SQL portable across the dialects relix targets without a per-dialect literal layer.
-
Method Summary