Expand description
Intermediate representation for the FHIRPath → SQL compiler.
Two layered IRs:
SqlExpris a dialect-independent value-level expression. Every FHIRPath sub-expression compiles to one of these. TheDialecttrait lowers anSqlExprto a SQL string per backend.PlanNodeis the row-source-level plan: scans, lateral unnests, filters, projections, unions, and recursive descents (repeat:).
Stages 2–5 progressively populate the consumers of these types. Stage 1 just defines the shapes so later work has a stable target.
Structs§
- Column
- Output column projected by a
Projectnode. - Json
Path - Ordered sequence of
PathSteps applied to a JSON root. - SubQuery
- A subquery embedded inside a
SqlExpr. Holds the inner plan together with the scalar projection extracted from each row.
Enums§
- BinOp
- Binary operator for
SqlExpr::BinOp. - Boundary
Kind - Source value type for
SqlExpr::Boundary. - Boundary
Side - Selects between
lowBoundary()andhighBoundary()semantics. - Json
Type - JSON value-type predicate, used by
PathStep::TypeFilterand polymorphic-field guards. - LitValue
- Literal scalar value embedded directly in SQL.
- Path
Step - One navigation step in a
JsonPath. - Plan
Node - Row-source plan node.
- SqlExpr
- A dialect-independent value-level SQL expression.
- SqlType
- SQL type tag used by
SqlExpr::Castand column projections. - UnaryOp
- Unary operator for
SqlExpr::UnaryOp.
Type Aliases§
- Dialect
Ref - Boxed dialect handle used by emission helpers.