Skip to main content

Module extract

Module extract 

Source
Expand description

The WHERE-clause walk that pulls subquery predicates out into joins.

Rewrites WHERE-clause subqueries into semi/anti joins so the existing hash-join executor handles them without a dedicated subquery engine.

Supported patterns:

  • WHERE col IN (SELECT col2 FROM tbl ...) → semi-join
  • WHERE col NOT IN (SELECT col2 FROM tbl ...) → anti-join
  • WHERE EXISTS (SELECT ... ) → semi-join
  • WHERE NOT EXISTS (SELECT ... ) → anti-join
  • WHERE col > (SELECT AGG(...) FROM tbl ...) → scalar subquery (materialized)

Structs§

SubqueryExtraction
Result of extracting subqueries from a WHERE clause.
SubqueryJoin
A subquery that was rewritten as a join.

Functions§

extract_subqueries
Extract subquery predicates from a WHERE clause.