Expand description
Expression Converter for Predicate Pushdown
This module converts parser AST expressions to storage layer expressions for predicate pushdown optimization. Only simple, pushable predicates are converted - complex expressions that can’t be pushed down return None.
§Supported Conversions
| AST Expression | Storage Expression |
|---|---|
column = value | ComparisonExpr |
column > value | ComparisonExpr |
a AND b | AndExpr |
a OR b | OrExpr |
NOT a | NotExpr |
column IN (v1, v2) | InListExpr |
column BETWEEN a AND b | BetweenExpr |
column LIKE pattern | LikeExpr |
column IS NULL | NullCheckExpr |
§Not Pushable (returns None)
- Function calls (UPPER(col) = ‘X’)
- Subqueries
- CASE expressions
- Arithmetic expressions
- Column-to-column comparisons
Functions§
- convert_
ast_ to_ storage_ expr - Convert an AST expression to a storage expression for predicate pushdown