Skip to main content

isolate_table_selects

Function isolate_table_selects 

Source
pub fn isolate_table_selects(
    expression: Expression,
    schema: Option<&dyn Schema>,
    _dialect: Option<DialectType>,
) -> Expression
Expand description

Wrap plain table references in subqueries when multiple sources are present.

When a SELECT has multiple sources (FROM + JOINs, or multiple FROM tables), each bare Table reference is replaced with:

(SELECT * FROM table AS alias) AS alias

This makes every source a subquery, which simplifies downstream optimizations such as merge_subqueries.

§Arguments

  • expression - The SQL expression tree to transform
  • schema - Optional schema for looking up column names (used to skip tables whose columns are unknown, matching the Python behavior)
  • _dialect - Optional dialect (reserved for future use)

§Returns

The transformed expression with isolated table selects