Skip to main content

Module expr_converter

Module expr_converter 

Source
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 ExpressionStorage Expression
column = valueComparisonExpr
column > valueComparisonExpr
a AND bAndExpr
a OR bOrExpr
NOT aNotExpr
column IN (v1, v2)InListExpr
column BETWEEN a AND bBetweenExpr
column LIKE patternLikeExpr
column IS NULLNullCheckExpr

§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