Skip to main content

Module subquery

Module subquery 

Source
Expand description

Subquery Executor

Provides support for nested queries within SQL expressions.

§Subquery Types

  • Scalar: Single-value subquery x = (SELECT max(y) FROM ...)
  • EXISTS: Existence check EXISTS (SELECT * FROM ... WHERE ...)
  • IN: Set membership x IN (SELECT y FROM ...)
  • NOT IN: Set non-membership
  • ANY/ALL: Comparison with set x > ANY (SELECT ...)

§Correlation

  • Correlated: References outer query columns, evaluated per row
  • Non-correlated: Independent, can be evaluated once and cached

§Optimization

  • Non-correlated subqueries use once-only evaluation
  • IN subqueries build hash index for O(1) lookups
  • EXISTS short-circuits on first match

Structs§

SubqueryDef
A subquery definition
SubqueryExecutor
Subquery executor handles evaluation of nested queries
ValueHash
Hashable wrapper for Value (for HashSet storage)

Enums§

CompareOp
Comparison operator for ANY/ALL
SubqueryCache
Cached result of a non-correlated subquery
SubqueryType
Type of subquery

Functions§

bind_outer_refs
Check if a binding satisfies correlation constraints
detect_correlation
Detect outer variable references in a subquery