> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bijection.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Module: sql

> Reference for the bijection/sql entry point.

## Classes

* [ScalarFailure](https://docs.bijection.com/api/classes/sql.ScalarFailure.md)
* [RelationalPlacementError](https://docs.bijection.com/api/classes/sql.RelationalPlacementError.md)
* [SQLReadError](https://docs.bijection.com/api/classes/sql.SQLReadError.md)
* [WindowMeasure](https://docs.bijection.com/api/classes/sql.WindowMeasure.md)
* [Relation](https://docs.bijection.com/api/classes/sql.Relation.md)
* [RelationalProgram](https://docs.bijection.com/api/classes/sql.RelationalProgram.md)

## Type Aliases

### ApproximateValue

Ƭ **ApproximateValue**\<`T`, `Kind`>: `Object`

Not exported: an exported type refers to it.

#### Type parameters

| Name | Type |
| :- | :- |
| `T` | `T` |
| `Kind` | extends `"relative"` \| `"rank"` |

#### Type declaration

| Name | Type |
| :- | :- |
| `estimate` | `T` |
| `accuracy` | \{ `kind`: `Kind` ; `error`: `number` ; `confidence`: `number`  } |
| `accuracy.kind` | `Kind` |
| `accuracy.error` | `number` |
| `accuracy.confidence` | `number` |

***

### MeasuredValue

Ƭ **MeasuredValue**\<`M`>: `M` extends \{ `[measureValue]`: \[infer V, `boolean`]  } ? `V` : `never`

Not exported: an exported type refers to it.

#### Type parameters

| Name |
| :- |
| `M` |

***

### DecimalMeasure

Ƭ **DecimalMeasure**\<`M`>: `M` extends \{ `[measureValue]`: \[`unknown`, `true`]  } ? `true` : `false`

Not exported: an exported type refers to it.

#### Type parameters

| Name |
| :- |
| `M` |

***

### GroupMeasure

Ƭ **GroupMeasure**\<`M`>: `M` extends \{ `kind`: `"approx_count_distinct"`  } ? [`ApproximateValue`](https://docs.bijection.com/api/modules/sql#approximatevalue)\<`number`, `"relative"`> : `M` extends \{ `kind`: `"approx_percentile"`  } ? [`ApproximateValue`](https://docs.bijection.com/api/modules/sql#approximatevalue)\<[`MeasuredValue`](https://docs.bijection.com/api/modules/sql#measuredvalue)\<`M`> | `null`, `"rank"`> : `M` extends \{ `kind`: `"count"` | `"count_distinct"`  } ? `bigint` : `M` extends \{ `kind`: [`StatisticalMeasure`](https://docs.bijection.com/api/modules/server#statisticalmeasure)  } ? `number` | `null` : `M` extends \{ `kind`: `"collect"`  } ? readonly `Exclude`\<[`MeasuredValue`](https://docs.bijection.com/api/modules/sql#measuredvalue)\<`M`>, `null` | `undefined`>\[] : `M` extends \{ `kind`: `"average"`  } ? `Exclude`\<[`MeasuredValue`](https://docs.bijection.com/api/modules/sql#measuredvalue)\<`M`>, `null` | `undefined`> extends `number` ? `number` | `null` : `string` | `null` : `M` extends \{ `kind`: `"decimal_sum"`  } ? `string` : `M` extends \{ `kind`: `"min"` | `"max"`  } ? `Exclude`\<[`MeasuredValue`](https://docs.bijection.com/api/modules/sql#measuredvalue)\<`M`>, `undefined`> | `null` : [`DecimalMeasure`](https://docs.bijection.com/api/modules/sql#decimalmeasure)\<`M`> extends `true` ? `string` : `M` extends \{ `kind`: `"sum"`  } ? `Exclude`\<[`RelationSum`](https://docs.bijection.com/api/modules/server#relationsum)\<[`MeasuredValue`](https://docs.bijection.com/api/modules/sql#measuredvalue)\<`M`>>, `undefined`> : [`MeasuredValue`](https://docs.bijection.com/api/modules/sql#measuredvalue)\<`M`>

Not exported: an exported type refers to it.

#### Type parameters

| Name |
| :- |
| `M` |

***

### Expand

Ƭ **Expand**\<`T`>: `T` extends infer O ? \{ \[K in keyof O]: O\[K] } : `never`

Not exported: an exported type refers to it.

#### Type parameters

| Name |
| :- |
| `T` |

***

### PerParentMeasures

Ƭ **PerParentMeasures**\<`M`>: [`Expand`](https://docs.bijection.com/api/modules/sql#expand)\<\{ -readonly \[K in keyof M as M\[K] extends Object ? never : K]: M\[K] extends Object ? Exclude\<RelationSum\<MeasuredValue\<M\[K]>>, undefined> : GroupMeasure\<M\[K]> } & \{ \[K in keyof M as M\[K] extends Object ? K : never]?: Exclude\<GroupMeasure\<M\[K]>, undefined> }>

Not exported: an exported type refers to it.

#### Type parameters

| Name |
| :- |
| `M` |

***

### FlinkOptions

Ƭ **FlinkOptions**: [`Options`](https://docs.bijection.com/api/modules/series#options) & \{ `delivery?`: `"boundary"` | `"continuous"`  }

Not exported: an exported type refers to it.

***

### FlinkColumn

Ƭ **FlinkColumn**: `Object`

Not exported: an exported type refers to it.

#### Type declaration

| Name | Type |
| :- | :- |
| `name` | `string` |
| `type` | `string` |
| `nullable` | `boolean` |
| `presence?` | `true` |

***

### FlinkProject

Ƭ **FlinkProject**: `Readonly`\<\{ `name`: `string` ; `artifact`: `Readonly`\<\{ `kind`: `"file"` ; `path`: `string` ; `sha256`: `string`  }> ; `runtime_digest`: `string` ; `toolchain?`: `unknown` ; `sources`: `Readonly`\<`Record`\<`string`, `Readonly`\<\{ `mode?`: `"append"` | `"current_state"` | `"fixed_snapshot"` | `"refreshable_snapshot"` ; `contract_digest`: `string` ; `columns`: readonly [`FlinkColumn`](https://docs.bijection.com/api/modules/sql#flinkcolumn)\[] ; `key?`: readonly `string`\[] ; `event_time?`: `unknown`  }>>> ; `sinks`: `Readonly`\<`Record`\<`string`, `Readonly`\<\{ `mode`: `"append"` | `"upsert"` ; `columns`: readonly [`FlinkColumn`](https://docs.bijection.com/api/modules/sql#flinkcolumn)\[] ; `key?`: readonly `string`\[] ; `deletes?`: `"existing"` | `"any"` ; `late_of?`: `string`  }>>> ; `compatibility?`: `unknown`  }>

A Flink project's generated specification (`_generated/flink/<alias>.ts`).

***

### MaterializeScalar

Ƭ **MaterializeScalar**: `"string"` | `"int64"` | `"float64"` | `"boolean"`

Not exported: an exported type refers to it.

***

### MaterializeProject

Ƭ **MaterializeProject**: `Readonly`\<\{ `name`: `string` ; `artifact`: `Readonly`\<\{ `kind`: `"file"` ; `path`: `string` ; `sha256`: `string`  }> ; `runtimeDigest`: `string` ; `toolchain?`: `unknown` ; `sources`: `Readonly`\<`Record`\<`string`, \{ `schema`: `Record`\<`string`, [`MaterializeScalar`](https://docs.bijection.com/api/modules/sql#materializescalar)>  }>> ; `outputs`: `Readonly`\<`Record`\<`string`, \{ `schema`: `Record`\<`string`, [`MaterializeScalar`](https://docs.bijection.com/api/modules/sql#materializescalar)> ; `relation`: `string` ; `key`: readonly `string`\[]  }>> ; `policy`: `Readonly`\<\{ `targetIntervalMs`: `number` ; `historyMs`: `number` ; `maxOutageMs`: `number` ; `onHistoryGap`: `"stop"`  }>  }>

A Materialize project's generated specification.

***

### TemporalGraph

Ƭ **TemporalGraph**: `Readonly`\<\{ `program`: `unknown` ; `inputs`: `Readonly`\<`Record`\<`string`, [`GenericValidator`](https://docs.bijection.com/api/modules/values#genericvalidator)>> ; `outputs`: `Readonly`\<`Record`\<`string`, [`GenericValidator`](https://docs.bijection.com/api/modules/values#genericvalidator)>> ; `window`: `Readonly`\<\{ `step_us`: `string` ; `context_before_us?`: `string` ; `context_after_us?`: `string` ; `finality`: `"available"` | `"settled"`  }> ; `fold?`: `Readonly`\<\{ `state_schema_digest`: `string` ; `reset`: `unknown`  }> ; `runtime?`: [`ProgramArtifact`](https://docs.bijection.com/api/modules/computations#programartifact) ; `equivalence?`: `Readonly`\<\{ `executors`: `Readonly`\<`Record`\<`string`, readonly `string`\[]>>  }>  }>

A temporal graph inferred by `temporal.boundary(...)`, before binding. Its
ports are the exact Dataset references its boundary exchanges.

***

### AnalyticalRelationWorkLimits

Ƭ **AnalyticalRelationWorkLimits**: `Readonly`\<\{ `profile`: `"analytical"` ; `maxRowSteps`: `number` ; `maxProcessedBytes`: `number`  }>

***

### RetainedRelationWorkLimits

Ƭ **RetainedRelationWorkLimits**: [`RelationWorkLimits`](https://docs.bijection.com/api/modules/server#relationworklimits) | [`AnalyticalRelationWorkLimits`](https://docs.bijection.com/api/modules/sql#analyticalrelationworklimits)

***

### RelationalEngine

Ƭ **RelationalEngine**: typeof [`RELATIONAL_ENGINES`](https://docs.bijection.com/api/modules/sql#relational_engines)\[`number`]

***

### RelationalPlanOptions

Ƭ **RelationalPlanOptions**: `Object`

#### Type declaration

| Name | Type | Description |
| :- | :- | :- |
| `context?` | [`ProgramContextReads`](https://docs.bijection.com/api/modules/computations_adapters#programcontextreads) | Omission leaves contextual reads unknown and prevents adoption. |
| `requirements?` | [`ExecutionRequirements`](https://docs.bijection.com/api/modules/computations#executionrequirements) | Environment and capacity the executing worker needs, beyond its engine. Compute adds the selected engine's `relational:<engine>` feature. |
| `replay?` | `"deterministic"` | A captured plan is a pure function of its exact inputs: declaring deterministic replay lets Compute replace a lost job attempt. |
| `cost?` | [`RelationalCostLimits`](https://docs.bijection.com/api/modules/sql#relationalcostlimits) | Per-run provider cost limits. Compute runs the plan only on an engine whose provider enforces every declared limit itself (`RELATIONAL_COST_ENFORCEMENT`); other engines are refused at admission. |

***

### RelationalCostLimits

Ƭ **RelationalCostLimits**: `Object`

One declarative per-run cost policy. `billedBytes` bounds the bytes the
provider bills for the whole run; `statementDuration` bounds each statement
the engine runs; `totalStatementDuration` bounds the summed duration of the
run's statements, each stopped by the provider at what remains of it. None
is a run deadline or a cluster size: those are `requirements.limits`
(`duration`, `memory.workers`) of the execution host.

#### Type declaration

| Name | Type |
| :- | :- |
| `billedBytes?` | `bigint` \| `string` |
| `statementDuration?` | [`ReadDuration`](https://docs.bijection.com/api/modules/runtime#readduration) |
| `totalStatementDuration?` | [`ReadDuration`](https://docs.bijection.com/api/modules/runtime#readduration) |

***

### RelationalInputs

Ƭ **RelationalInputs**\<`Args`>: \{ \[K in keyof Args]: Infer\<Args\[K]> extends ResultRef\<infer Row, "dataset"> ? RowRelation\<Row> : Scalar\<Infer\<Args\[K]>, K & string> }

Each dataset argument is a relation over its rows; every other argument
is a typed scalar of the plan.

#### Type parameters

| Name | Type |
| :- | :- |
| `Args` | extends [`PropertyValidators`](https://docs.bijection.com/api/modules/values#propertyvalidators) |

***

### RelationalHandler

Ƭ **RelationalHandler**: `Object`

A job-only adapter: a captured relational plan.

#### Type declaration

| Name | Type |
| :- | :- |
| `kind` | `"relational"` |
| `protocols` | readonly \[`"job"`] |

***

### SQLKernelProgram

Ƭ **SQLKernelProgram**: `Readonly`\<\{ `kind`: `"lambda_binding"` | `"regex"` | `"java_regex"` | `"geometry"` | `"spatial"` | `"geometry_union"` | `"occurrence"` | `"numeric"` | `"collection"` | `"scalar"` ; `id`: `string` ; `program`: `string`  }>

Not exported: an exported type refers to it.

***

### RelationalCapability

Ƭ **RelationalCapability**: `RELATIONAL_CAPABILITIES`\[`number`]

***

### RelationalArgument

Ƭ **RelationalArgument**: `Omit`\<[`TransformationColumn`](https://docs.bijection.com/api/modules/sql#transformationcolumn), `"name"`>

***

### RelationalPlan

Ƭ **RelationalPlan**: `Omit`\<[`AnalyzedRelation`](https://docs.bijection.com/api/modules/sql#analyzedrelation), `"expression"` | `"arguments"` | `"input_contracts"` | `"columns"` | `"closed_types"` | `"carrier"`> & \{ `expression`: [`RelationExpression`](https://docs.bijection.com/api/modules/server#relationexpression) ; `arguments`: `Record`\<`string`, [`RelationalArgument`](https://docs.bijection.com/api/modules/sql#relationalargument)> ; `input_contracts`: [`TransformationSchemas`](https://docs.bijection.com/api/modules/sql#transformationschemas) ; `columns`: [`TransformationColumn`](https://docs.bijection.com/api/modules/sql#transformationcolumn)\[] ; `closed_types`: [`ClosedTypes`](https://docs.bijection.com/api/modules/sql#closedtypes) ; `carrier`: [`CarrierPlan`](https://docs.bijection.com/api/modules/sql#carrierplan)  }

The customer authoring facade narrows transport shapes to its dataset types.
Identities, operations, scopes and obligations come from generated core types.

***

### ScalarType

Ƭ **ScalarType**: `Omit`\<[`TransformationColumn`](https://docs.bijection.com/api/modules/sql#transformationcolumn), `"name"` | `"type"`> & \{ `type`: [`TransformationColumn`](https://docs.bijection.com/api/modules/sql#transformationcolumn)\[`"type"`] | `"null"` | `"missing"`  }

Not exported: an exported type refers to it.

***

### ClockObservation

Ƭ **ClockObservation**: `Object`

Not exported: an exported type refers to it.

#### Type declaration

| Name | Type |
| :- | :- |
| `every_ms` | `number` |
| `at_ms` | `number` |
| `valid_until_ms` | `number` |

***

### ColumnHeader

Ƭ **ColumnHeader**: `Object`

Not exported: an exported type refers to it.

#### Type declaration

| Name | Type |
| :- | :- |
| `key` | `string` |
| `name` | `string` |

***

### ScalarFailureCode

Ƭ **ScalarFailureCode**: `"invalid_canonical_value"` | `"type_mismatch"` | `"numeric_domain"` | `"missing_operand"` | `"null_operand"` | `"division_by_zero"` | `"inexact_rescale"` | `"result_out_of_range"` | `"spatial_precision_loss"` | `"invalid_program"` | `"join_cardinality"` | `"source_identity_collision"` | `"guarantee_failed"` | `"unresolved_tie"` | `"invalid_timestamp"` | `"unrepresentable_timestamp"` | `"invalid_pattern"` | `"invalid_regular_expression"` | `"external_runtime_required"` | `"invalid_timezone"` | `"resource_limit"` | `"collection_too_large"`

***

### JsonValue

Ƭ **JsonValue**: `number` | `string` | `boolean` | [`JsonValue`](https://docs.bijection.com/api/modules/sql#jsonvalue)\[] | \{ \[key in string]?: JsonValue } | `null`

Not exported: an exported type refers to it.

***

### SpatialOperation

Ƭ **SpatialOperation**: `"intersects"` | `"equals"` | `"disjoint"` | `"covered_by"` | `"covers"` | `"contains"` | `"within"` | `"touches"` | `"crosses"` | `"overlaps"` | `"distance"` | `"center_distance"` | `"classify"` | `"is_unknown"`

Not exported: an exported type refers to it.

***

### SpatialEvaluation

Ƭ **SpatialEvaluation**: `Object`

#### Type declaration

| Name | Type |
| :- | :- |
| `operation` | [`SpatialOperation`](https://docs.bijection.com/api/modules/sql#spatialoperation) |
| `space` | [`GeometrySpace`](https://docs.bijection.com/api/modules/apps#geometryspace) |
| `operands` | [`JsonValue`](https://docs.bijection.com/api/modules/sql#jsonvalue)\[] |
| `allowance?` | [`GeometryAllowance`](https://docs.bijection.com/api/modules/sql#geometryallowance) |

***

### InterpolationMode

Ƭ **InterpolationMode**: `"linear"` | `"geodesic"` | `"nearest"` | `"previous"` | `"next"` | `"none"`

***

### OccurrenceSourceIdentity

Ƭ **OccurrenceSourceIdentity**: \{ `kind`: `"content"`  } | \{ `kind`: `"native_locator"` ; `table`: `string`  }

Not exported: an exported type refers to it.

***

### Finite

Ƭ **Finite**: `number`

Not exported: an exported type refers to it.

***

### CoordinateMap

Ƭ **CoordinateMap**: `Object`

#### Type declaration

| Name | Type |
| :- | :- |
| `pipeline` | `string` |
| `resources` | \{ \[key in string]?: string } |
| `source_extent` | \[[`Finite`](https://docs.bijection.com/api/modules/sql#finite), [`Finite`](https://docs.bijection.com/api/modules/sql#finite), [`Finite`](https://docs.bijection.com/api/modules/sql#finite), [`Finite`](https://docs.bijection.com/api/modules/sql#finite)] \| `null` |
| `target_extent` | \[[`Finite`](https://docs.bijection.com/api/modules/sql#finite), [`Finite`](https://docs.bijection.com/api/modules/sql#finite), [`Finite`](https://docs.bijection.com/api/modules/sql#finite), [`Finite`](https://docs.bijection.com/api/modules/sql#finite)] \| `null` |

***

### GeometryOperand

Ƭ **GeometryOperand**: `"geometry"` | `"point"` | `"metres"`

Not exported: an exported type refers to it.

***

### GeometryResult

Ƭ **GeometryResult**: `"geometry"` | `"same"` | `"point"` | `"polygons"` | `"number"`

Not exported: an exported type refers to it.

***

### GeometryOperatorDescription

Ƭ **GeometryOperatorDescription**: `Object`

#### Type declaration

| Name | Type |
| :- | :- |
| `id` | `string` |
| `operands` | [`GeometryOperand`](https://docs.bijection.com/api/modules/sql#geometryoperand)\[] |
| `result` | [`GeometryResult`](https://docs.bijection.com/api/modules/sql#geometryresult) |

***

### BufferCap

Ƭ **BufferCap**: `"round"` | `"square"` | `"flat"`

Not exported: an exported type refers to it.

***

### BufferJoin

Ƭ **BufferJoin**: `"round"` | `"mitre"` | `"bevel"`

Not exported: an exported type refers to it.

***

### Overlay

Ƭ **Overlay**: `"intersection"` | `"union"` | `"difference"` | `"symmetric_difference"`

Not exported: an exported type refers to it.

***

### GeometryOperation

Ƭ **GeometryOperation**: \{ `kind`: `"buffer"` ; `cap`: [`BufferCap`](https://docs.bijection.com/api/modules/sql#buffercap) ; `join`: [`BufferJoin`](https://docs.bijection.com/api/modules/sql#bufferjoin) ; `quadrant_segments`: `number`  } | \{ `kind`: `"simplify"`  } | \{ `kind`: `"centroid"`  } | \{ `kind`: `"standardize"`  } | \{ `kind`: `"bijection_hull"`  } | \{ `kind`: `"boundary"`  } | \{ `kind`: `"area"`  } | \{ `kind`: `"length"`  } | \{ `kind`: `"perimeter"`  } | \{ `kind`: `"overlay"` ; `operation`: [`Overlay`](https://docs.bijection.com/api/modules/sql#overlay)  } | \{ `kind`: `"transform"` ; `target`: [`GeometrySpace`](https://docs.bijection.com/api/modules/apps#geometryspace) ; `mapping`: [`CoordinateMap`](https://docs.bijection.com/api/modules/sql#coordinatemap)  } | \{ `kind`: `"ground_projection"`  } | \{ `kind`: `"affine_3d"` ; `matrix`: \[\[[`Finite`](https://docs.bijection.com/api/modules/sql#finite), [`Finite`](https://docs.bijection.com/api/modules/sql#finite), [`Finite`](https://docs.bijection.com/api/modules/sql#finite), [`Finite`](https://docs.bijection.com/api/modules/sql#finite)], \[[`Finite`](https://docs.bijection.com/api/modules/sql#finite), [`Finite`](https://docs.bijection.com/api/modules/sql#finite), [`Finite`](https://docs.bijection.com/api/modules/sql#finite), [`Finite`](https://docs.bijection.com/api/modules/sql#finite)], \[[`Finite`](https://docs.bijection.com/api/modules/sql#finite), [`Finite`](https://docs.bijection.com/api/modules/sql#finite), [`Finite`](https://docs.bijection.com/api/modules/sql#finite), [`Finite`](https://docs.bijection.com/api/modules/sql#finite)]]  } | \{ `kind`: `"destination"` ; `bearing_degrees`: [`Finite`](https://docs.bijection.com/api/modules/sql#finite) ; `distance_m`: [`Finite`](https://docs.bijection.com/api/modules/sql#finite)  }

***

### GeometryDeclaration

Ƭ **GeometryDeclaration**: `Object`

#### Type declaration

| Name | Type |
| :- | :- |
| `space` | [`GeometrySpace`](https://docs.bijection.com/api/modules/apps#geometryspace) |
| `size` | [`GeometrySize`](https://docs.bijection.com/api/modules/sql#geometrysize) |

***

### GeometryAllowance

Ƭ **GeometryAllowance**: `Object`

Not exported: an exported type refers to it.

#### Type declaration

| Name | Type |
| :- | :- |
| `steps` | `number` |
| `allocated_bytes` | `number` |

***

### GeometryRequest

Ƭ **GeometryRequest**: \{ `operation`: `"supports"` ; `operator`: [`GeometryOperation`](https://docs.bijection.com/api/modules/sql#geometryoperation) ; `space`: [`GeometrySpace`](https://docs.bijection.com/api/modules/apps#geometryspace) ; `allowance?`: [`GeometryAllowance`](https://docs.bijection.com/api/modules/sql#geometryallowance)  } | \{ `operation`: `"evaluate"` ; `operator`: [`GeometryOperation`](https://docs.bijection.com/api/modules/sql#geometryoperation) ; `value`: [`JsonValue`](https://docs.bijection.com/api/modules/sql#jsonvalue) ; `declaration`: [`GeometryDeclaration`](https://docs.bijection.com/api/modules/sql#geometrydeclaration) ; `allowance?`: [`GeometryAllowance`](https://docs.bijection.com/api/modules/sql#geometryallowance)  } | \{ `operation`: `"measure"` ; `measurement`: [`Measurement`](https://docs.bijection.com/api/modules/sql#measurement) ; `value`: [`JsonValue`](https://docs.bijection.com/api/modules/sql#jsonvalue) ; `declaration`: [`GeometryDeclaration`](https://docs.bijection.com/api/modules/sql#geometrydeclaration) ; `allowance?`: [`GeometryAllowance`](https://docs.bijection.com/api/modules/sql#geometryallowance)  } | \{ `operation`: `"segment_distance"` ; `space`: [`GeometrySpace`](https://docs.bijection.com/api/modules/apps#geometryspace) ; `left`: \[\[`number`, `number`], \[`number`, `number`]] ; `right`: \[\[`number`, `number`], \[`number`, `number`]] ; `allowance?`: [`GeometryAllowance`](https://docs.bijection.com/api/modules/sql#geometryallowance)  } | \{ `operation`: `"geodesic_position"` ; `start`: \[`number`, `number`] ; `end`: \[`number`, `number`] ; `fraction`: `number` ; `allowance?`: [`GeometryAllowance`](https://docs.bijection.com/api/modules/sql#geometryallowance)  } | \{ `operation`: `"bearing"` ; `from`: \[`number`, `number`] ; `to`: \[`number`, `number`] ; `allowance?`: [`GeometryAllowance`](https://docs.bijection.com/api/modules/sql#geometryallowance)  } | \{ `operation`: `"bounding_cap"` ; `value`: [`JsonValue`](https://docs.bijection.com/api/modules/sql#jsonvalue) ; `declaration`: [`GeometryDeclaration`](https://docs.bijection.com/api/modules/sql#geometrydeclaration) ; `allowance?`: [`GeometryAllowance`](https://docs.bijection.com/api/modules/sql#geometryallowance)  } | \{ `operation`: `"local_frame"` ; `space`: [`GeometrySpace`](https://docs.bijection.com/api/modules/apps#geometryspace) ; `centre`: \[`number`, `number`] ; `positions`: \[`number`, `number`]\[] ; `allowance?`: [`GeometryAllowance`](https://docs.bijection.com/api/modules/sql#geometryallowance)  } | \{ `operation`: `"simplify_trajectory"` ; `runs`: \[`number`, `number`]\[]\[] ; `tolerance_m`: `number` ; `max_points`: `number` ; `allowance?`: [`GeometryAllowance`](https://docs.bijection.com/api/modules/sql#geometryallowance)  } | \{ `operation`: `"union"` ; `values`: [`JsonValue`](https://docs.bijection.com/api/modules/sql#jsonvalue)\[] ; `declaration`: [`GeometryDeclaration`](https://docs.bijection.com/api/modules/sql#geometrydeclaration) ; `allowance?`: [`GeometryAllowance`](https://docs.bijection.com/api/modules/sql#geometryallowance)  } | \{ `operation`: `"from_planar"` ; `value`: [`JsonValue`](https://docs.bijection.com/api/modules/sql#jsonvalue) ; `declaration`: [`GeometryDeclaration`](https://docs.bijection.com/api/modules/sql#geometrydeclaration) ; `tolerance_m`: `number` ; `allowance?`: [`GeometryAllowance`](https://docs.bijection.com/api/modules/sql#geometryallowance)  } | \{ `operation`: `"to_planar"` ; `value`: [`JsonValue`](https://docs.bijection.com/api/modules/sql#jsonvalue) ; `declaration`: [`GeometryDeclaration`](https://docs.bijection.com/api/modules/sql#geometrydeclaration) ; `tolerance_m`: `number` ; `allowance?`: [`GeometryAllowance`](https://docs.bijection.com/api/modules/sql#geometryallowance)  } | \{ `operation`: `"admit"` ; `value`: [`JsonValue`](https://docs.bijection.com/api/modules/sql#jsonvalue) ; `declaration`: [`GeometryDeclaration`](https://docs.bijection.com/api/modules/sql#geometrydeclaration) ; `allowance?`: [`GeometryAllowance`](https://docs.bijection.com/api/modules/sql#geometryallowance)  } | \{ `operation`: `"admit_position"` ; `value`: [`JsonValue`](https://docs.bijection.com/api/modules/sql#jsonvalue) ; `declaration`: [`GeometryDeclaration`](https://docs.bijection.com/api/modules/sql#geometrydeclaration) ; `allowance?`: [`GeometryAllowance`](https://docs.bijection.com/api/modules/sql#geometryallowance)  } | \{ `operation`: `"ground_projection"` ; `value`: [`JsonValue`](https://docs.bijection.com/api/modules/sql#jsonvalue) ; `declaration`: [`GeometryDeclaration`](https://docs.bijection.com/api/modules/sql#geometrydeclaration) ; `allowance?`: [`GeometryAllowance`](https://docs.bijection.com/api/modules/sql#geometryallowance)  } | \{ `operation`: `"encode"` ; `value`: [`JsonValue`](https://docs.bijection.com/api/modules/sql#jsonvalue) ; `declaration`: [`GeometryDeclaration`](https://docs.bijection.com/api/modules/sql#geometrydeclaration) ; `allowance?`: [`GeometryAllowance`](https://docs.bijection.com/api/modules/sql#geometryallowance)  } | \{ `operation`: `"decode"` ; `bytes`: `number`\[] ; `declaration`: [`GeometryDeclaration`](https://docs.bijection.com/api/modules/sql#geometrydeclaration) ; `allowance?`: [`GeometryAllowance`](https://docs.bijection.com/api/modules/sql#geometryallowance)  }

***

### TrajectorySimplification

Ƭ **TrajectorySimplification**: `Object`

#### Type declaration

| Name | Type |
| :- | :- |
| `tolerance_m` | `number` |
| `kept` | `number`\[]\[] |

***

### Measurement

Ƭ **Measurement**: `"area"` | `"length"` | `"perimeter"`

Not exported: an exported type refers to it.

***

### ScalarOrder

Ƭ **ScalarOrder**: `Object`

Not exported: an exported type refers to it.

#### Type declaration

| Name | Type |
| :- | :- |
| `value` | [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid) |
| `descending` | `boolean` |

***

### NormalizedMeasure

Ƭ **NormalizedMeasure**: \{ `kind`: `"aggregate"` ; `operation`: [`AggregateOperation`](https://docs.bijection.com/api/modules/browser#aggregateoperation) ; `value`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid) | `null` ; `second`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid) | `null` ; `scale`: `number` | `null`  } | \{ `kind`: `"count_distinct"` ; `value`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid)  } | \{ `kind`: `"collect"` ; `value`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid) ; `distinct`: `boolean` ; `order`: [`ScalarOrder`](https://docs.bijection.com/api/modules/sql#scalarorder)\[] ; `max_items`: `number` ; `max_bytes`: `number`  } | \{ `kind`: `"sum"` ; `value`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid)  } | \{ `kind`: `"decimal_sum"` ; `value`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid) ; `scale`: `number`  } | \{ `kind`: `"minimum"` ; `value`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid)  } | \{ `kind`: `"maximum"` ; `value`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid)  } | \{ `kind`: `"average"` ; `value`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid) ; `scale?`: `number` | `null`  } | \{ `kind`: `"percentile"` ; `value`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid) ; `basis_points`: `number` ; `decimal_scale`: `number` | `null`  }

Not exported: an exported type refers to it.

***

### NormalizedWindow

Ƭ **NormalizedWindow**: `Object`

Not exported: an exported type refers to it.

#### Type declaration

| Name | Type |
| :- | :- |
| `order` | [`ScalarOrder`](https://docs.bijection.com/api/modules/sql#scalarorder)\[] |
| `rows` | `number` |

***

### CarrierPlan

Ƭ **CarrierPlan**: `Object`

Not exported: an exported type refers to it.

#### Type declaration

| Name | Type |
| :- | :- |
| `columns` | [`ColumnSource`](https://docs.bijection.com/api/modules/sql#columnsource)\[] |
| `references` | ([`ColumnReference`](https://docs.bijection.com/api/modules/sql#columnreference) \| `null`)\[] |
| `fields` | [`ResolvedField`](https://docs.bijection.com/api/modules/sql#resolvedfield)\[] |

***

### GeometrySize

Ƭ **GeometrySize**: `"standard"` | `"large"`

Not exported: an exported type refers to it.

***

### WireDomain

Ƭ **WireDomain**: \{ `type`: `"string"`  } | \{ `type`: `"reference"` ; `table`: `string`  } | \{ `type`: `"binary"`  } | \{ `type`: `"long"`  } | \{ `type`: `"short"`  } | \{ `type`: `"int"`  } | \{ `type`: `"boolean"`  } | \{ `type`: `"double"`  } | \{ `type`: `"ieee_double"`  } | \{ `type`: `"float"`  } | \{ `type`: `"ieee_float"`  } | \{ `type`: `"date"`  } | \{ `type`: `"timestamp"`  } | \{ `type`: `"timestamp_ntz"`  } | \{ `type`: `"null"`  } | \{ `type`: `"missing"`  } | \{ `type`: `"decimal"` ; `precision`: `number` ; `scale`: `number`  } | \{ `type`: `"geometry"` ; `geometrySpace`: [`GeometrySpace`](https://docs.bijection.com/api/modules/apps#geometryspace) ; `geometryTypes`: [`GeometryKind`](https://docs.bijection.com/api/modules/values#geometrykind)\[]  } | \{ `type`: `"position"` ; `geometrySpace`: [`GeometrySpace`](https://docs.bijection.com/api/modules/apps#geometryspace)  } | \{ `type`: `"struct"` ; `fields`: [`WireColumn`](https://docs.bijection.com/api/modules/computations#wirecolumn)\[]  } | \{ `type`: `"list"` ; `element`: [`WireShape`](https://docs.bijection.com/api/modules/apps#wireshape)  } | \{ `type`: `"map"` ; `key`: [`WireShape`](https://docs.bijection.com/api/modules/apps#wireshape) ; `value`: [`WireShape`](https://docs.bijection.com/api/modules/apps#wireshape)  } | \{ `type`: `"entry_map"` ; `key`: [`WireShape`](https://docs.bijection.com/api/modules/apps#wireshape) ; `value`: [`WireShape`](https://docs.bijection.com/api/modules/apps#wireshape)  }

Not exported: an exported type refers to it.

***

### ClosedTypes

Ƭ **ClosedTypes**: `Object`

Not exported: an exported type refers to it.

#### Type declaration

| Name | Type |
| :- | :- |
| `columns` | [`WireShape`](https://docs.bijection.com/api/modules/apps#wireshape)\[] |
| `scalars` | [`WireShape`](https://docs.bijection.com/api/modules/apps#wireshape)\[] |
| `fields` | [`WireShape`](https://docs.bijection.com/api/modules/apps#wireshape)\[] |

***

### NodeId

Ƭ **NodeId**: `number`

Not exported: an exported type refers to it.

***

### ColumnId

Ƭ **ColumnId**: `number`

Not exported: an exported type refers to it.

***

### ScalarId

Ƭ **ScalarId**: `number`

Not exported: an exported type refers to it.

***

### Guard

Ƭ **Guard**: \{ `kind`: `"boolean"` ; `scalar`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid) ; `is_true`: `boolean`  } | \{ `kind`: `"absent"` ; `scalar`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid)  }

Not exported: an exported type refers to it.

***

### Population

Ƭ **Population**: \{ `kind`: `"invocation"` ; `node`: [`NodeId`](https://docs.bijection.com/api/modules/sql#nodeid)  } | \{ `kind`: `"left_input"` ; `node`: [`NodeId`](https://docs.bijection.com/api/modules/sql#nodeid)  } | \{ `kind`: `"right_input"` ; `node`: [`NodeId`](https://docs.bijection.com/api/modules/sql#nodeid)  } | \{ `kind`: `"input"` ; `node`: [`NodeId`](https://docs.bijection.com/api/modules/sql#nodeid)  } | \{ `kind`: `"output"` ; `node`: [`NodeId`](https://docs.bijection.com/api/modules/sql#nodeid)  } | \{ `kind`: `"group_members"` ; `node`: [`NodeId`](https://docs.bijection.com/api/modules/sql#nodeid)  } | \{ `kind`: `"join_candidates"` ; `node`: [`NodeId`](https://docs.bijection.com/api/modules/sql#nodeid)  } | \{ `kind`: `"array_elements"` ; `node`: [`NodeId`](https://docs.bijection.com/api/modules/sql#nodeid) ; `scalar`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid)  }

Not exported: an exported type refers to it.

***

### EvaluationScope

Ƭ **EvaluationScope**: `Object`

Not exported: an exported type refers to it.

#### Type declaration

| Name | Type |
| :- | :- |
| `population` | [`Population`](https://docs.bijection.com/api/modules/sql#population) |
| `guard` | [`Guard`](https://docs.bijection.com/api/modules/sql#guard)\[] |

***

### ColumnReference

Ƭ **ColumnReference**: `Object`

Not exported: an exported type refers to it.

#### Type declaration

| Name | Type |
| :- | :- |
| `column` | [`ColumnId`](https://docs.bijection.com/api/modules/sql#columnid) |
| `path` | `string`\[] |

***

### SqlCollation

Ƭ **SqlCollation**: `"binary"` | `"unicode_ci"` | `"unicode_turkic_ci"` | `"unicode_sv_ci"` | `"unicode_de_phonebook_ci"` | `"unicode_es_traditional_ci"` | `"unicode_fr_ca_ci"` | `"unicode_cs_ci"` | `"unicode_pl_ci"` | `"unicode_da_ci"` | `"unicode_zh_pinyin_ci"`

Not exported: an exported type refers to it.

***

### ConditionalBranch

Ƭ **ConditionalBranch**: `Object`

Not exported: an exported type refers to it.

#### Type declaration

| Name | Type |
| :- | :- |
| `condition` | [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid) |
| `value` | [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid) |

***

### OffsetPrecision

Ƭ **OffsetPrecision**: `"minutes"` | `"seconds"`

Not exported: an exported type refers to it.

***

### TimestampFormatError

Ƭ **TimestampFormatError**: \{ `reason`: `"offset_precision"` ; `offset_seconds`: `number` ; `offset_precision`: [`OffsetPrecision`](https://docs.bijection.com/api/modules/sql#offsetprecision)  } | \{ `reason`: `"offset_range"` ; `offset_seconds`: `number`  } | \{ `reason`: `"fraction_precision"` ; `fraction_digits`: `number`  } | \{ `reason`: `"local_date_range"`  }

Not exported: an exported type refers to it.

***

### CollectionBound

Ƭ **CollectionBound**: `"items"` | `"bytes"`

Not exported: an exported type refers to it.

***

### CollectionTooLarge

Ƭ **CollectionTooLarge**: `Object`

Not exported: an exported type refers to it.

#### Type declaration

| Name | Type |
| :- | :- |
| `bound` | [`CollectionBound`](https://docs.bijection.com/api/modules/sql#collectionbound) |
| `limit` | `number` |
| `observed` | `number` |

***

### ScalarExpression

Ƭ **ScalarExpression**: \{ `kind`: `"array"` ; `operation`: [`ArrayOperation`](https://docs.bijection.com/api/modules/computations#arrayoperation) ; `input`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid) ; `body`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid) ; `initial`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid) | `null`  } | \{ `kind`: `"array_binding"` ; `owner`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid) ; `binding`: [`ArrayBinding`](https://docs.bijection.com/api/modules/computations#arraybinding) ; `path`: `string`\[]  } | \{ `kind`: `"native"` ; `operation`: [`NativeOperation`](https://docs.bijection.com/api/modules/computations#nativeoperation) ; `arguments`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid)\[]  } | \{ `kind`: `"read"` ; `port`: `string` ; `arguments`: \{ \[key in string]?: ScalarId }  } | \{ `kind`: `"field"` ; `reference`: [`ColumnReference`](https://docs.bijection.com/api/modules/sql#columnreference)  } | \{ `kind`: `"argument"` ; `name`: `string`  } | \{ `kind`: `"literal"` ; `value`: [`LiteralValue`](https://docs.bijection.com/api/modules/computations#literalvalue)  } | \{ `kind`: `"apply"` ; `operation`: [`ScalarOperation`](https://docs.bijection.com/api/modules/computations#scalaroperation) ; `arguments`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid)\[]  } | \{ `kind`: `"case"` ; `branches`: [`ConditionalBranch`](https://docs.bijection.com/api/modules/sql#conditionalbranch)\[] ; `otherwise`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid)  } | \{ `kind`: `"membership"` ; `value`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid) ; `members`: [`LiteralValue`](https://docs.bijection.com/api/modules/computations#literalvalue)\[]  } | \{ `kind`: `"timestamp"` ; `operation`: [`TimestampOperation`](https://docs.bijection.com/api/modules/computations#timestampoperation) ; `value`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid)  }

Not exported: an exported type refers to it.

***

### ScalarArena

Ƭ **ScalarArena**: \{ `id`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid) ; `value_type`: [`LogicalValueType`](https://docs.bijection.com/api/modules/apps#logicalvaluetype) ; `scope`: [`EvaluationScope`](https://docs.bijection.com/api/modules/sql#evaluationscope) ; `expression`: [`ScalarExpression`](https://docs.bijection.com/api/modules/sql#scalarexpression)  }\[]

Not exported: an exported type refers to it.

***

### LogicalColumn

Ƭ **LogicalColumn**: `Object`

Not exported: an exported type refers to it.

#### Type declaration

| Name | Type |
| :- | :- |
| `id` | [`ColumnId`](https://docs.bijection.com/api/modules/sql#columnid) |
| `name` | `string` |
| `value_type` | [`LogicalValueType`](https://docs.bijection.com/api/modules/apps#logicalvaluetype) |
| `source` | [`ColumnSource`](https://docs.bijection.com/api/modules/sql#columnsource) |

***

### ColumnSource

Ƭ **ColumnSource**: \{ `kind`: `"relation_row"` ; `node`: [`NodeId`](https://docs.bijection.com/api/modules/sql#nodeid)  } | \{ `kind`: `"row"` ; `fields`: \[`string`, [`ColumnReference`](https://docs.bijection.com/api/modules/sql#columnreference)]\[]  } | \{ `kind`: `"input"` ; `field`: `string`  } | \{ `kind`: `"field"` ; `reference`: [`ColumnReference`](https://docs.bijection.com/api/modules/sql#columnreference)  } | \{ `kind`: `"scalar"` ; `value`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid)  } | \{ `kind`: `"union"` ; `left`: [`ColumnId`](https://docs.bijection.com/api/modules/sql#columnid) ; `right`: [`ColumnId`](https://docs.bijection.com/api/modules/sql#columnid)  } | \{ `kind`: `"aggregate"` ; `operation`: [`AggregateOperation`](https://docs.bijection.com/api/modules/browser#aggregateoperation) ; `input`: [`ColumnReference`](https://docs.bijection.com/api/modules/sql#columnreference) | `null` ; `second`: [`ColumnReference`](https://docs.bijection.com/api/modules/sql#columnreference) | `null` ; `scale`: `number` | `null` ; `collection`: [`CollectionPlan`](https://docs.bijection.com/api/modules/sql#collectionplan) | `null`  } | \{ `kind`: `"element"`  } | \{ `kind`: `"row_number"`  } | \{ `kind`: `"nearest"` ; `reference`: [`ColumnReference`](https://docs.bijection.com/api/modules/sql#columnreference) | `null`  } | \{ `kind`: `"window"` ; `operation`: [`WindowOperation`](https://docs.bijection.com/api/modules/sql#windowoperation)  }

Not exported: an exported type refers to it.

***

### WindowOperation

Ƭ **WindowOperation**: \{ `kind`: `"row_number"`  } | \{ `kind`: `"rank"`  } | \{ `kind`: `"dense_rank"`  } | \{ `kind`: `"percent_rank"`  } | \{ `kind`: `"cume_dist"`  } | \{ `kind`: `"ntile"` ; `buckets`: `number`  } | \{ `kind`: `"lag"` ; `input`: [`ColumnReference`](https://docs.bijection.com/api/modules/sql#columnreference) ; `offset`: `number`  } | \{ `kind`: `"lead"` ; `input`: [`ColumnReference`](https://docs.bijection.com/api/modules/sql#columnreference) ; `offset`: `number`  } | \{ `kind`: `"first"` ; `input`: [`ColumnReference`](https://docs.bijection.com/api/modules/sql#columnreference)  } | \{ `kind`: `"last"` ; `input`: [`ColumnReference`](https://docs.bijection.com/api/modules/sql#columnreference)  } | \{ `kind`: `"nth"` ; `input`: [`ColumnReference`](https://docs.bijection.com/api/modules/sql#columnreference) ; `position`: `number` ; `ignore_nulls`: `boolean`  } | \{ `kind`: `"collect"` ; `input`: [`ColumnReference`](https://docs.bijection.com/api/modules/sql#columnreference) ; `distinct`: `boolean` ; `order`: [`SortKey`](https://docs.bijection.com/api/modules/sql#sortkey)\[] ; `max_items`: `number` ; `max_bytes`: `number`  } | \{ `kind`: `"aggregate"` ; `operation`: [`AggregateOperation`](https://docs.bijection.com/api/modules/browser#aggregateoperation) ; `input`: [`ColumnReference`](https://docs.bijection.com/api/modules/sql#columnreference) | `null` ; `second`: [`ColumnReference`](https://docs.bijection.com/api/modules/sql#columnreference) | `null` ; `scale`: `number` | `null`  }

Not exported: an exported type refers to it.

***

### FrameExclusion

Ƭ **FrameExclusion**: `"no_others"` | `"current_row"` | `"group"` | `"ties"`

Not exported: an exported type refers to it.

***

### CollectionPlan

Ƭ **CollectionPlan**: `Object`

Not exported: an exported type refers to it.

#### Type declaration

| Name | Type |
| :- | :- |
| `distinct` | `boolean` |
| `order` | [`SortKey`](https://docs.bijection.com/api/modules/sql#sortkey)\[] |
| `max_items` | `number` |
| `max_bytes` | `number` |

***

### SortKey

Ƭ **SortKey**: `Object`

Not exported: an exported type refers to it.

#### Type declaration

| Name | Type |
| :- | :- |
| `value` | [`ColumnReference`](https://docs.bijection.com/api/modules/sql#columnreference) |
| `descending` | `boolean` |

***

### RelationOperator

Ƭ **RelationOperator**: \{ `kind`: `"unit"`  } | \{ `kind`: `"empty"`  } | \{ `kind`: `"fixed_point"` ; `binding`: `string` ; `quantifier`: [`RecursionQuantifier`](https://docs.bijection.com/api/modules/computations#recursionquantifier)  } | \{ `kind`: `"recursive_input"` ; `binding`: `string`  } | \{ `kind`: `"scan"` ; `port`: `string` ; `arguments`: \{ \[key in string]?: ScalarId } ; `occurrence`: [`OccurrenceSourceIdentity`](https://docs.bijection.com/api/modules/sql#occurrencesourceidentity)  } | \{ `kind`: `"alias"` ; `name`: `string`  } | \{ `kind`: `"filter"` ; `predicate`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid)  } | \{ `kind`: `"assert"` ; `name`: `string` ; `predicate`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid)  } | \{ `kind`: `"select"` ; `fields`: \{ \[key in string]?: ScalarId }  } | \{ `kind`: `"extend"` ; `fields`: \{ \[key in string]?: ScalarId }  } | \{ `kind`: `"compute"` ; `bindings`: \{ \[key in string]?: \[ColumnId, ScalarId] }  } | \{ `kind`: `"unnest"` ; `value`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid) ; `alias`: `string`  } | \{ `kind`: `"union_all"`  } | \{ `kind`: `"join"` ; `join`: [`JoinKind`](https://docs.bijection.com/api/modules/computations#joinkind) ; `keys`: \[[`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid), [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid)]\[] ; `equality`: [`KeyEquality`](https://docs.bijection.com/api/modules/computations#keyequality) ; `cardinality`: [`JoinCardinality`](https://docs.bijection.com/api/modules/computations#joincardinality) ; `candidate`: [`ColumnId`](https://docs.bijection.com/api/modules/sql#columnid) ; `predicate`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid) | `null` ; `nearest`: [`NearestSelection`](https://docs.bijection.com/api/modules/computations#nearestselection)\<[`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid)> | `null`  } | \{ `kind`: `"lateral"` ; `join`: [`JoinKind`](https://docs.bijection.com/api/modules/computations#joinkind) ; `cardinality`: [`JoinCardinality`](https://docs.bijection.com/api/modules/computations#joincardinality)  } | \{ `kind`: `"group"` ; `keys`: \{ \[key in string]?: ScalarId } ; `measures`: \{ \[key in string]?: NormalizedMeasure } ; `empty`: [`EmptyGroup`](https://docs.bijection.com/api/modules/computations#emptygroup) ; `window`: [`NormalizedWindow`](https://docs.bijection.com/api/modules/sql#normalizedwindow) | `null`  } | \{ `kind`: `"order"` ; `order`: [`ScalarOrder`](https://docs.bijection.com/api/modules/sql#scalarorder)\[]  } | \{ `kind`: `"take"` ; `count`: `number`  } | \{ `kind`: `"rank"` ; `partition`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid)\[] ; `order`: [`ScalarOrder`](https://docs.bijection.com/api/modules/sql#scalarorder)\[] ; `field`: `string` ; `ties`: [`OrderingTies`](https://docs.bijection.com/api/modules/sql#orderingties)  } | \{ `kind`: `"deduplicate"` ; `key`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid)\[] ; `order`: [`ScalarOrder`](https://docs.bijection.com/api/modules/sql#scalarorder)\[] ; `ties`: [`OrderingTies`](https://docs.bijection.com/api/modules/sql#orderingties)  } | \{ `kind`: `"window"` ; `partition`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid)\[] ; `order`: [`ScalarOrder`](https://docs.bijection.com/api/modules/sql#scalarorder)\[] ; `frame`: [`WindowFrame`](https://docs.bijection.com/api/modules/server#windowframe) ; `measures`: \{ \[key in string]?: WindowMeasure } ; `ties`: [`OrderingTies`](https://docs.bijection.com/api/modules/sql#orderingties)  } | \{ `kind`: `"temporal"` ; `operation`: [`TemporalKind`](https://docs.bijection.com/api/modules/series#temporalkind) ; `alias`: `string` ; `source`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid) ; `from`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid) ; `to`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid) ; `max_gap`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid) ; `region`: [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid) | `null`  }

Not exported: an exported type refers to it.

***

### TypedNode

Ƭ **TypedNode**: `Object`

Not exported: an exported type refers to it.

#### Type declaration

| Name | Type |
| :- | :- |
| `id` | [`NodeId`](https://docs.bijection.com/api/modules/sql#nodeid) |
| `row` | [`ColumnId`](https://docs.bijection.com/api/modules/sql#columnid) |
| `inputs` | [`NodeId`](https://docs.bijection.com/api/modules/sql#nodeid)\[] |
| `operator` | [`RelationOperator`](https://docs.bijection.com/api/modules/sql#relationoperator) |
| `columns` | [`ColumnId`](https://docs.bijection.com/api/modules/sql#columnid)\[] |

***

### TypedRelation

Ƭ **TypedRelation**: `Object`

Not exported: an exported type refers to it.

#### Type declaration

| Name | Type |
| :- | :- |
| `fields` | [`ResolvedField`](https://docs.bijection.com/api/modules/sql#resolvedfield)\[] |
| `root` | [`NodeId`](https://docs.bijection.com/api/modules/sql#nodeid) |
| `nodes` | [`TypedNode`](https://docs.bijection.com/api/modules/sql#typednode)\[] |
| `scalars` | [`ScalarArena`](https://docs.bijection.com/api/modules/sql#scalararena) |
| `columns` | [`LogicalColumn`](https://docs.bijection.com/api/modules/sql#logicalcolumn)\[] |
| `node_paths` | \{ \[key in string]?: NodeId } |
| `scalar_paths` | \{ \[key in string]?: ScalarId } |

***

### ResolvedField

Ƭ **ResolvedField**: `Object`

Not exported: an exported type refers to it.

#### Type declaration

| Name | Type |
| :- | :- |
| `reference` | [`ColumnReference`](https://docs.bijection.com/api/modules/sql#columnreference) |
| `value_type` | [`LogicalValueType`](https://docs.bijection.com/api/modules/apps#logicalvaluetype) |

***

### SemanticCheck

Ƭ **SemanticCheck**: `"collection_bound"` | `"native_arithmetic"` | `"boolean_operand"` | `"native_calendar"` | `"native_spatial"` | `"reader_call"` | `"source_identity"` | `"row_field_collision"` | `"resource_limit"` | `"integer_arithmetic"` | `"float_arithmetic"` | `"decimal_arithmetic"` | `"invalid_argument"` | `"invalid_timestamp"` | `"timestamp_representation"` | `"date_range"` | `"timestamp_range"` | `"join_cardinality"` | `"guarantee_failed"` | `"unresolved_tie"` | `"scalar_contract"` | `"integer_sum"` | `"decimal_sum"` | `"exact_average"` | `"exact_statistics"` | `"float_sum"`

Not exported: an exported type refers to it.

***

### SemanticObligation

Ƭ **SemanticObligation**: `Object`

#### Type declaration

| Name | Type |
| :- | :- |
| `id` | `string` |
| `node` | [`NodeId`](https://docs.bijection.com/api/modules/sql#nodeid) |
| `scalar` | [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid) \| `null` |
| `column` | [`ColumnId`](https://docs.bijection.com/api/modules/sql#columnid) \| `null` |
| `scope` | [`EvaluationScope`](https://docs.bijection.com/api/modules/sql#evaluationscope) |
| `check` | [`SemanticCheck`](https://docs.bijection.com/api/modules/sql#semanticcheck) |

***

### Multiplicity

Ƭ **Multiplicity**: `"bag"` | `"set"`

Not exported: an exported type refers to it.

***

### KeyEvidence

Ƭ **KeyEvidence**: `"derived"` | `"asserted"`

Not exported: an exported type refers to it.

***

### KeyContract

Ƭ **KeyContract**: `Object`

Not exported: an exported type refers to it.

#### Type declaration

| Name | Type |
| :- | :- |
| `fields` | [`ColumnReference`](https://docs.bijection.com/api/modules/sql#columnreference)\[] |
| `evidence` | [`KeyEvidence`](https://docs.bijection.com/api/modules/sql#keyevidence) |

***

### RelationContract

Ƭ **RelationContract**: `Object`

#### Type declaration

| Name | Type |
| :- | :- |
| `row_type` | [`LogicalValueType`](https://docs.bijection.com/api/modules/apps#logicalvaluetype) |
| `columns` | [`ColumnContract`](https://docs.bijection.com/api/modules/sql#columncontract)\[] |
| `multiplicity` | [`Multiplicity`](https://docs.bijection.com/api/modules/sql#multiplicity) |
| `ordering` | [`OrderingContract`](https://docs.bijection.com/api/modules/sql#orderingcontract) \| `null` |
| `keys` | [`KeyContract`](https://docs.bijection.com/api/modules/sql#keycontract)\[] |
| `occurrence` | [`OccurrenceContract`](https://docs.bijection.com/api/modules/sql#occurrencecontract) |

***

### OccurrenceContract

Ƭ **OccurrenceContract**: \{ `kind`: `"source"` ; `population`: [`NodeId`](https://docs.bijection.com/api/modules/sql#nodeid)  } | \{ `kind`: `"derived"` ; `population`: [`NodeId`](https://docs.bijection.com/api/modules/sql#nodeid)  }

Not exported: an exported type refers to it.

***

### OrderingContract

Ƭ **OrderingContract**: \{ `kind`: `"expressions"` ; `population`: [`NodeId`](https://docs.bijection.com/api/modules/sql#nodeid) ; `keys`: [`ScalarOrder`](https://docs.bijection.com/api/modules/sql#scalarorder)\[] ; `ties`: [`OrderingTies`](https://docs.bijection.com/api/modules/sql#orderingties)  } | \{ `kind`: `"source"` ; `population`: [`NodeId`](https://docs.bijection.com/api/modules/sql#nodeid) ; `port`: `string`  }

Not exported: an exported type refers to it.

***

### OrderId

Ƭ **OrderId**: `number`

Not exported: an exported type refers to it.

***

### RelationProperties

Ƭ **RelationProperties**: `Object`

Not exported: an exported type refers to it.

#### Type declaration

| Name | Type |
| :- | :- |
| `ordering` | [`OrderId`](https://docs.bijection.com/api/modules/sql#orderid) \| `null` |
| `occurrence` | [`OccurrenceContract`](https://docs.bijection.com/api/modules/sql#occurrencecontract) |

***

### OrderingTies

Ƭ **OrderingTies**: `"error"` | `"complete_row"` | `"occurrence"`

Not exported: an exported type refers to it.

***

### ColumnContract

Ƭ **ColumnContract**: `Object`

#### Type declaration

| Name | Type |
| :- | :- |
| `id` | [`ColumnId`](https://docs.bijection.com/api/modules/sql#columnid) |
| `name` | `string` |
| `value_type` | [`LogicalValueType`](https://docs.bijection.com/api/modules/apps#logicalvaluetype) |

***

### SqlSourcePosition

Ƭ **SqlSourcePosition**: `Object`

Not exported: an exported type refers to it.

#### Type declaration

| Name | Type |
| :- | :- |
| `line` | `number` |
| `column` | `number` |

***

### SqlSourceSpan

Ƭ **SqlSourceSpan**: `Object`

Not exported: an exported type refers to it.

#### Type declaration

| Name | Type |
| :- | :- |
| `language` | `string` |
| `declaration?` | `string` |
| `start` | [`SqlSourcePosition`](https://docs.bijection.com/api/modules/sql#sqlsourceposition) |
| `end` | [`SqlSourcePosition`](https://docs.bijection.com/api/modules/sql#sqlsourceposition) |

***

### AnalyzedRelation

Ƭ **AnalyzedRelation**: `Object`

Not exported: an exported type refers to it.

#### Type declaration

| Name | Type |
| :- | :- |
| `source_map` | \{ \[key in string]?: SqlSourceSpan } |
| `version` | `number` |
| `clock_intervals` | `number`\[] |
| `admission_time_required` | `boolean` |
| `profile` | `string` |
| `profile_data` | [`SemanticProfile`](https://docs.bijection.com/api/modules/apps#semanticprofile) |
| `definition` | [`NormalizedDefinition`](https://docs.bijection.com/api/modules/computations#normalizeddefinition) |
| `expression` | [`JsonValue`](https://docs.bijection.com/api/modules/sql#jsonvalue) |
| `input_contracts` | [`JsonValue`](https://docs.bijection.com/api/modules/sql#jsonvalue) |
| `arguments` | [`JsonValue`](https://docs.bijection.com/api/modules/sql#jsonvalue) |
| `inputs` | `string`\[] |
| `columns` | [`WireColumn`](https://docs.bijection.com/api/modules/computations#wirecolumn)\[] \| `null` |
| `header` | [`ColumnHeader`](https://docs.bijection.com/api/modules/sql#columnheader)\[] |
| `capabilities` | `string`\[] |
| `operation_requirements` | [`OperationRequirement`](https://docs.bijection.com/api/modules/apps#operationrequirement)\[] |
| `output_population` | `boolean` |
| `contract` | [`RelationContract`](https://docs.bijection.com/api/modules/sql#relationcontract) |
| `orders` | [`OrderingContract`](https://docs.bijection.com/api/modules/sql#orderingcontract)\[] |
| `properties` | [`RelationProperties`](https://docs.bijection.com/api/modules/sql#relationproperties)\[] |
| `ir` | [`TypedRelation`](https://docs.bijection.com/api/modules/sql#typedrelation) |
| `carrier` | [`CarrierPlan`](https://docs.bijection.com/api/modules/sql#carrierplan) \| `null` |
| `closed_types` | [`ClosedTypes`](https://docs.bijection.com/api/modules/sql#closedtypes) \| `null` |
| `obligations` | [`SemanticObligation`](https://docs.bijection.com/api/modules/sql#semanticobligation)\[] |
| `definition_id` | `string` |

***

### ValidationClaim

Ƭ **ValidationClaim**: `Object`

Not exported: an exported type refers to it.

#### Type declaration

| Name | Type |
| :- | :- |
| `scope` | [`EvaluationScope`](https://docs.bijection.com/api/modules/sql#evaluationscope) |
| `requirement` | [`SemanticCheck`](https://docs.bijection.com/api/modules/sql#semanticcheck) |
| `scalar` | [`ScalarId`](https://docs.bijection.com/api/modules/sql#scalarid) \| `null` |
| `columns` | [`ColumnId`](https://docs.bijection.com/api/modules/sql#columnid)\[] |

***

### Kernel

Ƭ **Kernel**: `"portable_checked"`

Not exported: an exported type refers to it.

***

### ImplementationRule

Ƭ **ImplementationRule**: `"typed_contract"`

Not exported: an exported type refers to it.

***

### Discharge

Ƭ **Discharge**: \{ `obligation_id`: `string`  } & \{ `by`: `"check"` ; `check`: `number`  } | \{ `by`: `"lowering"` ; `rule`: [`ImplementationRule`](https://docs.bijection.com/api/modules/sql#implementationrule)  } | \{ `by`: `"kernel"` ; `kernel`: [`Kernel`](https://docs.bijection.com/api/modules/sql#kernel) ; `profile`: `string`  }

Not exported: an exported type refers to it.

***

### SQLPlacementInspection

Ƭ **SQLPlacementInspection**: \{ `state`: `"refused"` ; `requirement`: `string` ; `node`: `string` ; `reason`: `string`  } | \{ `state`: `"requires_preparation"` ; `lowering`: `"supported"` ; `inputs`: `Record`\<`string`, readonly `string`\[]> ; `runtime_profiles`: readonly \{ `id`: `string` ; `revision`: `string`  }\[]  } | \{ `state`: `"admitted"` ; `lowering`: `"supported"` ; `expires_at`: `string` ; `program`: [`TransformationSQL`](https://docs.bijection.com/api/modules/sql#transformationsql)  }

***

### SQLQuery

Ƭ **SQLQuery**: `Object`

Not exported: an exported type refers to it.

#### Type declaration

| Name | Type |
| :- | :- |
| `sql` | `string` |
| `dependencies` | `number`\[] |

***

### SQLRuntimeWindow

Ƭ **SQLRuntimeWindow**: `Object`

Not exported: an exported type refers to it.

#### Type declaration

| Name | Type |
| :- | :- |
| `kind` | `"spark_range"` |
| `node` | `string` |
| `coordinate_kind` | `string` |
| `descending` | `boolean` |
| `exclude` | [`FrameExclusion`](https://docs.bijection.com/api/modules/sql#frameexclusion) |
| `start` | [`RangeOffset`](https://docs.bijection.com/api/modules/server#rangeoffset) \| `null` |
| `end` | [`RangeOffset`](https://docs.bijection.com/api/modules/server#rangeoffset) \| `null` |
| `max_rows` | `number` |
| `max_spill_bytes` | `number` |
| `max_record_bytes` | `number` |
| `max_frame_work` | `number` |
| `measures` | \{ `kind`: `string` ; `second_kind`: `string` ; `operation`: `string` ; `parameter`: `number`  }\[] |

***

### SQLDefinition

Ƭ **SQLDefinition**: [`SQLQuery`](https://docs.bijection.com/api/modules/sql#sqlquery) & \{ `name`: `string` ; `runtime?`: [`SQLRuntimeWindow`](https://docs.bijection.com/api/modules/sql#sqlruntimewindow) | [`SQLRuntimeMaterialization`](https://docs.bijection.com/api/modules/sql#sqlruntimematerialization)  }

Not exported: an exported type refers to it.

***

### SQLRuntimeMaterialization

Ƭ **SQLRuntimeMaterialization**: `Object`

Not exported: an exported type refers to it.

#### Type declaration

| Name | Type |
| :- | :- |
| `kind` | `"spark_materialized"` |
| `node` | `string` |
| `max_rows` | `number` |
| `max_key_bytes` | `number` |
| `bytes_field` | `string` |

***

### Row

Ƭ **Row**: `Record`\<`string`, `any`>

Not exported: an exported type refers to it.

***

### CompiledRelationInputs

Ƭ **CompiledRelationInputs**: `Readonly`\<`Record`\<`string`, readonly [`Row`](https://docs.bijection.com/api/modules/sql#row)\[]>>

***

### CompiledRelation

Ƭ **CompiledRelation**\<`T`>: `Object`

#### Type parameters

| Name |
| :- |
| `T` |

#### Type declaration

| Name | Type |
| :- | :- |
| `expression` | [`RelationExpression`](https://docs.bijection.com/api/modules/server#relationexpression) |
| `plan` | [`RelationalPlan`](https://docs.bijection.com/api/modules/sql#relationalplan-2) |
| `inputs` | `Readonly`\<`Record`\<`string`, `string`>> |
| `inspect` | (`parameters?`: `Record`\<`string`, [`Value`](https://docs.bijection.com/api/modules/values#value)>, `clocks?`: readonly [`ClockObservation`](https://docs.bijection.com/api/modules/sql#clockobservation)\[], `admissionTimeMicros?`: `bigint`) => `void` |
| `evaluate` | (`inputs`: [`CompiledRelationInputs`](https://docs.bijection.com/api/modules/sql#compiledrelationinputs), `parameters?`: `Record`\<`string`, [`Value`](https://docs.bijection.com/api/modules/values#value)>, `clocks?`: readonly [`ClockObservation`](https://docs.bijection.com/api/modules/sql#clockobservation)\[], `admissionTimeMicros?`: `bigint`) => [`RelationRow`](https://docs.bijection.com/api/modules/server#relationrow)\<`T`>\[] |

***

### Digest

Ƭ **Digest**: \`sha256:\$\{string}\`

Not exported: an exported type refers to it.

***

### Toolchain

Ƭ **Toolchain**: `Readonly`\<\{ `compilerManifest`: [`Digest`](https://docs.bijection.com/api/modules/sql#digest) ; `sourceDigest`: [`Digest`](https://docs.bijection.com/api/modules/sql#digest) ; `executionProfile`: [`Digest`](https://docs.bijection.com/api/modules/sql#digest)  }>

Not exported: an exported type refers to it.

***

### CapturedArtifact

Ƭ **CapturedArtifact**: `Readonly`\<\{ `kind`: `"file"` ; `path`: `string` ; `sha256`: `string`  }>

Not exported: an exported type refers to it.

***

### CapturedNode

Ƭ **CapturedNode**: `Readonly`\<\{ `node`: `string` ; `path`: `string` ; `dependencies?`: readonly `string`\[] ; `materialization?`: `string` | `null` ; `selfReference?`: `boolean` ; `custom?`: \{ `name`: `string` ; `path`: `string` ; `class`: `string`  } | `null` ; `hooks?`: `Readonly`\<`Record`\<`string`, readonly `string`\[]>> | `null` ; `python?`: `boolean` ; `parent?`: `string` | `null` ; `group?`: `boolean` ; `name?`: `string` ; `severity?`: `string` ; `columns?`: `Readonly`\<`Record`\<`string`, `string` | `null`>>  }>

Not exported: an exported type refers to it.

***

### Nodes

Ƭ **Nodes**: `Readonly`\<`Record`\<`string`, [`CapturedNode`](https://docs.bijection.com/api/modules/sql#capturednode)>>

Not exported: an exported type refers to it.

***

### DbtSpecification

Ƭ **DbtSpecification**: `Readonly`\<\{ `toolchain`: [`Toolchain`](https://docs.bijection.com/api/modules/sql#toolchain) ; `name`: `string` ; `engine`: `string` ; `artifact`: [`CapturedArtifact`](https://docs.bijection.com/api/modules/sql#capturedartifact) ; `models`: [`Nodes`](https://docs.bijection.com/api/modules/sql#nodes) ; `sources`: `Readonly`\<`Record`\<`string`, [`CapturedNode`](https://docs.bijection.com/api/modules/sql#capturednode) & \{ `name`: `string`  }>> ; `tests`: [`Nodes`](https://docs.bijection.com/api/modules/sql#nodes) ; `hooks?`: readonly `string`\[]  }>

The generated specification of a captured dbt project.

***

### SqlProjectSpecification

Ƭ **SqlProjectSpecification**: `Readonly`\<\{ `toolchain`: [`Toolchain`](https://docs.bijection.com/api/modules/sql#toolchain) ; `name`: `string` ; `engine`: `string` ; `artifact`: [`CapturedArtifact`](https://docs.bijection.com/api/modules/sql#capturedartifact) ; `interface`: `Readonly`\<\{ `models`: [`Nodes`](https://docs.bijection.com/api/modules/sql#nodes) ; `sources`: [`Nodes`](https://docs.bijection.com/api/modules/sql#nodes) ; `checks`: [`Nodes`](https://docs.bijection.com/api/modules/sql#nodes)  }>  }>

The generated specification of a captured SQLMesh or Dataform project.

***

### Role

Ƭ **Role**: `"model"` | `"source"` | `"check"`

Not exported: an exported type refers to it.

***

### FrameworkNode

Ƭ **FrameworkNode**\<`R`>: `Readonly`\<\{ `kind`: [`SqlFrameworkKind`](https://docs.bijection.com/api/modules/computations#sqlframeworkkind) ; `project`: `string` ; `role`: `R` ; `node`: `string`  }>

A generated reference to one node of one captured project.

#### Type parameters

| Name | Type |
| :- | :- |
| `R` | extends [`Role`](https://docs.bijection.com/api/modules/sql#role) = [`Role`](https://docs.bijection.com/api/modules/sql#role) |

***

### FrameworkRuntime

Ƭ **FrameworkRuntime**: `Readonly`\<\{ `id`: `string` ; `revision`: `string`  }>

An installed runtime profile (`bijection.integration.<kind>`).

***

### References

Ƭ **References**\<`Keys`, `R`>: \{ readonly \[Key in Keys]: FrameworkNode\<R> }

Not exported: an exported type refers to it.

#### Type parameters

| Name | Type |
| :- | :- |
| `Keys` | extends `PropertyKey` |
| `R` | extends [`Role`](https://docs.bijection.com/api/modules/sql#role) |

***

### DbtName

Ƭ **DbtName**\<`Key`, `Project`>: `Key` extends \`$\{string}.$\{Project}.$\{infer Name}\` ? `Name` : `Key` extends \`$\{string}.\$\{infer Qualified}\` ? `Qualified` : `never`

Not exported: an exported type refers to it.

#### Type parameters

| Name | Type |
| :- | :- |
| `Key` | `Key` |
| `Project` | extends `string` |

***

### DbtProject

Ƭ **DbtProject**\<`Spec`>: `Readonly`\<\{ `kind`: `"dbt"` ; `name`: `Spec`\[`"name"`] ; `engine`: `Spec`\[`"engine"`] ; `runtime`: [`FrameworkRuntime`](https://docs.bijection.com/api/modules/sql#frameworkruntime) ; `models`: [`References`](https://docs.bijection.com/api/modules/sql#references)\<[`DbtName`](https://docs.bijection.com/api/modules/sql#dbtname)\<keyof `Spec`\[`"models"`], `Spec`\[`"name"`]>, `"model"`> ; `sources`: [`References`](https://docs.bijection.com/api/modules/sql#references)\<`Spec`\[`"sources"`]\[keyof `Spec`\[`"sources"`]]\[`"name"`], `"source"`> ; `checks`: [`References`](https://docs.bijection.com/api/modules/sql#references)\<[`DbtName`](https://docs.bijection.com/api/modules/sql#dbtname)\<keyof `Spec`\[`"tests"`], `Spec`\[`"name"`]>, `"check"`>  }>

#### Type parameters

| Name | Type |
| :- | :- |
| `Spec` | extends [`DbtSpecification`](https://docs.bijection.com/api/modules/sql#dbtspecification) |

***

### SqlProject

Ƭ **SqlProject**\<`Kind`, `Spec`>: `Readonly`\<\{ `kind`: `Kind` ; `name`: `Spec`\[`"name"`] ; `engine`: `Spec`\[`"engine"`] ; `runtime`: [`FrameworkRuntime`](https://docs.bijection.com/api/modules/sql#frameworkruntime) ; `models`: [`References`](https://docs.bijection.com/api/modules/sql#references)\<keyof `Spec`\[`"interface"`]\[`"models"`], `"model"`> ; `sources`: [`References`](https://docs.bijection.com/api/modules/sql#references)\<keyof `Spec`\[`"interface"`]\[`"sources"`], `"source"`> ; `checks`: [`References`](https://docs.bijection.com/api/modules/sql#references)\<keyof `Spec`\[`"interface"`]\[`"checks"`], `"check"`>  }>

#### Type parameters

| Name | Type |
| :- | :- |
| `Kind` | extends `"sqlmesh"` \| `"dataform"` |
| `Spec` | extends [`SqlProjectSpecification`](https://docs.bijection.com/api/modules/sql#sqlprojectspecification) |

***

### CapturedSqlProject

Ƭ **CapturedSqlProject**: [`DbtProject`](https://docs.bijection.com/api/modules/sql#dbtproject)\<[`DbtSpecification`](https://docs.bijection.com/api/modules/sql#dbtspecification)> | [`SqlProject`](https://docs.bijection.com/api/modules/sql#sqlproject)\<`"sqlmesh"` | `"dataform"`, [`SqlProjectSpecification`](https://docs.bijection.com/api/modules/sql#sqlprojectspecification)>

***

### SqlFrameworkBinding

Ƭ **SqlFrameworkBinding**\<`Project`>: `Object`

How a function binds its captured project.

#### Type parameters

| Name | Type |
| :- | :- |
| `Project` | extends [`CapturedSqlProject`](https://docs.bijection.com/api/modules/sql#capturedsqlproject) |

#### Type declaration

| Name | Type | Description |
| :- | :- | :- |
| `inputs` | `Readonly`\<`Record`\<`string`, `Project`\[`"sources"`]\[keyof `Project`\[`"sources"`]]>> | The dataset argument that supplies each source, bound exactly once; the runner loads the argument's exact version as the source relation. A dbt function binds the sources its selected models and tests read. SQLMesh, Dataform and dbt projects with hooks bind every project source. |
| `outputs` | `Readonly`\<`Record`\<`string`, `Project`\[`"models"`]\[keyof `Project`\[`"models"`]]>> | The model that produces each dataset field of the returned object. The model's attached tests, audits or assertions must pass before the reply. |
| `checks?` | readonly `Project`\[`"checks"`]\[keyof `Project`\[`"checks"`]]\[] | SQLMesh standalone audits evaluated over the complete output group. |
| `state?` | `Readonly`\<`Record`\<`string`, `string`>> | The dataset argument carrying each stateful output's previous accepted result, keyed by output: dbt incremental models and snapshots (restored in the engine as the model's relation before building), and SQLMesh `INCREMENTAL_BY_UNIQUE_KEY`, `INCREMENTAL_BY_PARTITION`, `INCREMENTAL_BY_TIME_RANGE`, SCD Type 2 and custom models (restored before SQLMesh evaluates the model using its native materialization strategy). Self-referencing SQLMesh models and SCD models require a state binding; Both require an admitted clock. Custom models may bind predecessor state. Dataform incremental models restore their exact previous relation before Dataform chooses its incremental query and model-local hooks. Stateful dbt and Dataform models in the selected closure must be bound outputs. The run is a pure function of its exact arguments. The engine reads it in place. |
| `clock?` | `string` | The string argument with the admitted instant for dbt snapshots and the SQLMesh execution time. SQLMesh history, self-reference, Python, custom models and model statements require it even on their first evaluation. |
| `interval?` | `Readonly`\<\{ `start`: `string` ; `end`: `string`  }> | SQLMesh's explicit planning interval, supplied by two required string arguments containing ISO 8601 dates or instants with UTC offsets. |
| `requirements?` | [`ExecutionRequirements`](https://docs.bijection.com/api/modules/computations#executionrequirements) | Requirements beyond the framework and its engine, which preparation always captures as the features `<kind>` and `warehouse:<engine>`. |
| `replay?` | `"deterministic"` | Declared deterministic replay, as for `python(...)`. |
| `context?` | [`ProgramContextReads`](https://docs.bijection.com/api/modules/computations_adapters#programcontextreads) | Omission leaves contextual reads unknown and prevents adoption. |

***

### SQLInputSource

Ƭ **SQLInputSource**: \{ `kind`: `"iceberg_snapshot"` ; `table`: `string`\[] ; `snapshot_id`: `string`  } | \{ `kind`: `"versioned_table"` ; `table`: `string`\[] ; `version`: `string`  } | \{ `kind`: `"iceberg_metadata"` ; `metadata_location`: `string` ; `snapshot_id`: `string`  } | \{ `kind`: `"pinned_table"` ; `table`: `string`\[]  } | \{ `kind`: `"session_view"` ; `name`: `string`  } | \{ `kind`: `"cte"` ; `name`: `string` ; `definition_id`: `string`  }

Where an engine scans one exact input. A derived relation of the same plan
is a `session_view` the runner created in the engine session, or a `cte`
composed into the program before it runs.

***

### SQLColumnEncoding

Ƭ **SQLColumnEncoding**: `Object`

Native values have the exact declared physical type. An optional nullable
value additionally needs a non-null boolean presence column.

#### Type declaration

| Name | Type |
| :- | :- |
| `column` | `string` |
| `field` | `string` |
| `codec` | typeof [`RELATIONAL_CARRIER_PROFILE`](https://docs.bijection.com/api/modules/computations_adapters#relational_carrier_profile) |

***

### SQLRelationEncoding

Ƭ **SQLRelationEncoding**: readonly [`SQLColumnEncoding`](https://docs.bijection.com/api/modules/sql#sqlcolumnencoding)\[]

***

### SQLInputReference

Ƭ **SQLInputReference**: `Object`

One input as the store resolved it: its Dataset and exact accepted
version (null for a derived relation of this plan), its logical columns,
their physical carriers and the source the engine scans.

#### Type declaration

| Name | Type |
| :- | :- |
| `version` | \{ `dataset`: `string` ; `id`: `string`  } \| `null` |
| `columns` | readonly [`TransformationColumn`](https://docs.bijection.com/api/modules/sql#transformationcolumn)\[] |
| `encoding` | [`SQLRelationEncoding`](https://docs.bijection.com/api/modules/sql#sqlrelationencoding) |
| `source` | [`SQLInputSource`](https://docs.bijection.com/api/modules/sql#sqlinputsource) |

***

### SQLReadOwner

Ƭ **SQLReadOwner**: \{ `kind`: `"function"` ; `receipt`: `string`  } | \{ `kind`: `"resource"` ; `holder`: `string`  }

***

### SQLReadContext

Ƭ **SQLReadContext**: `Object`

#### Type declaration

| Name | Type | Description |
| :- | :- | :- |
| `owner` | [`SQLReadOwner`](https://docs.bijection.com/api/modules/sql#sqlreadowner) | The actual invoking owner; structural validation grants no read authority. |
| `attempt_id` | `string` | - |
| `deadline_at` | `string` | Exact epoch nanoseconds: the attempt's run deadline. |
| `admission_time_us?` | `string` | Original owner admission instant, required by admission-time expressions. |
| `clocks` | readonly [`ClockObservation`](https://docs.bijection.com/api/modules/sql#clockobservation)\[] | Exact captured clock observations projected to this SQL region. |
| `clock_basis` | [`RetainedClockBasis`](https://docs.bijection.com/api/modules/computations_adapters#retainedclockbasis) \| `null` | Original Build fact identity, or null for a live tick. |
| `profile` | \{ `dialect`: [`TransformationDialect`](https://docs.bijection.com/api/modules/sql#transformationdialect) ; `revision`: `string` ; `settings`: `Readonly`\<`Record`\<`string`, `string`>>  } | - |
| `profile.dialect` | [`TransformationDialect`](https://docs.bijection.com/api/modules/sql#transformationdialect) | - |
| `profile.revision` | `string` | - |
| `profile.settings` | `Readonly`\<`Record`\<`string`, `string`>> | - |
| `inputs` | `Readonly`\<`Record`\<`string`, [`SQLInputReference`](https://docs.bijection.com/api/modules/sql#sqlinputreference)>> | - |

***

### SQLContext

Ƭ **SQLContext**: `Readonly`\<\{ `timeZone?`: `string` ; `collation?`: [`SqlCollation`](https://docs.bijection.com/api/modules/sql#sqlcollation)  }>

Captured SQL defaults, validated by the pinned shared semantic owner.

***

### CapturedSQLContext

Ƭ **CapturedSQLContext**: `Readonly`\<\{ `timeZone`: `string` ; `collation`: [`SqlCollation`](https://docs.bijection.com/api/modules/sql#sqlcollation)  }>

***

### Parameter

Ƭ **Parameter**: [`Value`](https://docs.bijection.com/api/modules/values#value) | [`Scalar`](https://docs.bijection.com/api/modules/server#scalar)\<[`Value`](https://docs.bijection.com/api/modules/values#value), `string`> | [`ArgumentReference`](https://docs.bijection.com/api/modules/server#argumentreference)\<`string`>

Not exported: an exported type refers to it.

***

### RelationOf

Ƭ **RelationOf**\<`T`>: `T` extends [`Relation`](https://docs.bijection.com/api/classes/sql.Relation)\<infer R> ? `R` : `never`

Not exported: an exported type refers to it.

#### Type parameters

| Name |
| :- |
| `T` |

***

### ParameterArguments

Ƭ **ParameterArguments**\<`T`>: `T` extends [`Scalar`](https://docs.bijection.com/api/modules/server#scalar)\<`any`, infer Args> ? `Args` : `never`

Not exported: an exported type refers to it.

#### Type parameters

| Name |
| :- |
| `T` |

***

### SQLRelationType

Ƭ **SQLRelationType**\<`Inputs`, `Parameters`, `Returns`>: `Object`

Not exported: an exported type refers to it.

#### Type parameters

| Name |
| :- |
| `Inputs` |
| `Parameters` |
| `Returns` |

#### Type declaration

| Name | Type |
| :- | :- |
| `row` | `Returns` extends [`GenericValidator`](https://docs.bijection.com/api/modules/values#genericvalidator) ? [`Infer`](https://docs.bijection.com/api/modules/values#infer)\<`Returns`> : `Record`\<`string`, [`Value`](https://docs.bijection.com/api/modules/values#value)> |
| `identity` | `unknown` |
| `args` | [`RelationArgumentNames`](https://docs.bijection.com/api/modules/series#relationargumentnames)\<[`RelationOf`](https://docs.bijection.com/api/modules/sql#relationof)\<`Inputs`\[keyof `Inputs`]>> \| [`ParameterArguments`](https://docs.bijection.com/api/modules/sql#parameterarguments)\<`Parameters`\[keyof `Parameters`]> |
| `problems` | [`ViewOperatorProblem`](https://docs.bijection.com/api/modules/sql#viewoperatorproblem)\<[`RelationOf`](https://docs.bijection.com/api/modules/sql#relationof)\<`Inputs`\[keyof `Inputs`]>> |
| `tables` | [`RelationExpressionTables`](https://docs.bijection.com/api/modules/runtime#relationexpressiontables)\<[`RelationOf`](https://docs.bijection.com/api/modules/sql#relationof)\<`Inputs`\[keyof `Inputs`]>> |
| `scan` | `never` |

***

### SQLBuildSyntax

Ƭ **SQLBuildSyntax**: `Readonly`\<\{ `mode`: `"create"` | `"replace"` | `"append"` | `"merge"` | `"update"` | `"delete"` ; `target`: `string` ; `query`: `string` | `null` ; `keys`: readonly `string`\[] ; `source`: `ReturnType`\<typeof [`sqlRelationSyntax`](https://docs.bijection.com/api/modules/sql#sqlrelationsyntax)> ; `storage?`: `Readonly`\<\{ `provider?`: `"iceberg"` | `"parquet"` | `"avro"` ; `partition?`: (\{ `column`: `string` ; `transform`: `"identity"` | `"year"` | `"month"` | `"day"` | `"hour"`  } | \{ `column`: `string` ; `transform`: `"bucket"` ; `count`: `number`  } | \{ `column`: `string` ; `transform`: `"truncate"` ; `width`: `number`  })\[] ; `properties?`: `Record`\<`string`, `string`>  }> ; `optimization?`: `Readonly`\<\{ `kind`: `"zorder"` ; `columns`: readonly `string`\[]  }> ; `defaults?`: `Readonly`\<`Record`\<`string`, `string`>> ; `columns?`: `Readonly`\<`ReturnType`\<typeof [`relationalColumns`](https://docs.bijection.com/api/modules/computations_adapters#relationalcolumns)>> ; `changed?`: `Readonly`\<\{ `query`: `string` ; `source`: `ReturnType`\<typeof [`sqlRelationSyntax`](https://docs.bijection.com/api/modules/sql#sqlrelationsyntax)>  }> ; `merge?`: `Readonly`\<\{ `source_port`: `string` ; `target_port`: `string` ; `changes`: readonly `Readonly`\<\{ `query`: `string` ; `source`: `ReturnType`\<typeof [`sqlRelationSyntax`](https://docs.bijection.com/api/modules/sql#sqlrelationsyntax)>  }>\[] ; `branches`: readonly `Readonly`\<\{ `query`: `string` ; `source`: `ReturnType`\<typeof [`sqlRelationSyntax`](https://docs.bijection.com/api/modules/sql#sqlrelationsyntax)>  }>\[]  }>  }>

One dataset transformation parsed by the shared SQL compiler. This metadata
conveys no write permission; the installed dataset publication owner does.

***

### SQLPivotValues

Ƭ **SQLPivotValues**: `Record`\<`string`, \{ `json`: `string` ; `schema`: `string`  }\[]>

Exact typed values discovered by an authorized, bounded read.

***

### KeysOfUnion

Ƭ **KeysOfUnion**\<`T`>: `T` extends `unknown` ? keyof `T` : `never`

Not exported: an exported type refers to it.

#### Type parameters

| Name |
| :- |
| `T` |

***

### PropertyOfUnion

Ƭ **PropertyOfUnion**\<`T`, `K`>: `T` extends `unknown` ? `K` extends keyof `T` ? `T`\[`K`] : `never` : `never`

Not exported: an exported type refers to it.

#### Type parameters

| Name | Type |
| :- | :- |
| `T` | `T` |
| `K` | extends `PropertyKey` |

***

### RelationalScalarType

Ƭ **RelationalScalarType**: `Exclude`\<[`WireDomain`](https://docs.bijection.com/api/modules/sql#wiredomain)\[`"type"`], `"struct"` | `"list"` | `"null"` | `"missing"`>

The authoring facade derives its vocabulary and parameters from the
semantic owner's generated transport. Runtime admission remains shared.

***

### TransformationColumn

Ƭ **TransformationColumn**: \{ `name`: `string` ; `type`: `Exclude`\<[`WireDomain`](https://docs.bijection.com/api/modules/sql#wiredomain)\[`"type"`], `"null"` | `"missing"`> ; `nullable`: `boolean` ; `optional?`: `boolean` ; `fields?`: [`TransformationColumn`](https://docs.bijection.com/api/modules/sql#transformationcolumn)\[] ; `element?`: `Omit`\<[`TransformationColumn`](https://docs.bijection.com/api/modules/sql#transformationcolumn), `"name"` | `"optional"`>  } & \{ \[K in Exclude\<KeysOfUnion\<WireDomain>, "type" | "fields" | "element">]?: PropertyOfUnion\<WireDomain, K> }

***

### TransformationSchemas

Ƭ **TransformationSchemas**: `Readonly`\<`Record`\<`string`, readonly [`TransformationColumn`](https://docs.bijection.com/api/modules/sql#transformationcolumn)\[]>>

***

### TransformationLiteral

Ƭ **TransformationLiteral**: `Object`

Not exported: an exported type refers to it.

#### Type declaration

| Name | Type |
| :- | :- |
| `kind` | `"string"` \| `"int64"` \| `"float64"` \| `"boolean"` \| `"null"` \| `"missing"` |
| `value` | `string` |

***

### TransformationNode

Ƭ **TransformationNode**: \{ `id`: `string` ; `kind`: `"input"` ; `table`: `string`  } | \{ `id`: `string` ; `kind`: `"filter"` ; `input`: `string` ; `field`: `string` ; `comparison`: `"eq"` | `"neq"` | `"lt"` | `"lte"` | `"gt"` | `"gte"` ; `value`: [`TransformationLiteral`](https://docs.bijection.com/api/modules/sql#transformationliteral)  } | \{ `id`: `string` ; `kind`: `"project"` ; `input`: `string` ; `fields`: \{ `name`: `string` ; `from`: `string`  }\[]  } | \{ `id`: `string` ; `kind`: `"calculate"` ; `input`: `string` ; `name`: `string` ; `operator`: `"add"` | `"sub"` | `"mul"` | `"div"` ; `left`: `string` ; `right`: \{ `kind`: `"field"` ; `field`: `string`  } | \{ `kind`: `"literal"` ; `value`: [`TransformationLiteral`](https://docs.bijection.com/api/modules/sql#transformationliteral)  }  } | \{ `id`: `string` ; `kind`: `"join"` ; `input`: `string` ; `right`: `string` ; `left_field`: `string` ; `right_field`: `string` ; `alias`: `string` ; `join`: `"left"` | `"inner"` ; `at_most_one`: `boolean`  } | \{ `id`: `string` ; `kind`: `"group"` ; `input`: `string` ; `keys`: `string`\[] ; `measures`: \{ `name`: `string` ; `kind`: `"count"` | `"sum"` | `"count_distinct"` ; `field?`: `string`  }\[]  }

***

### TransformationGraph

Ƭ **TransformationGraph**: `Object`

#### Type declaration

| Name | Type |
| :- | :- |
| `version` | `1` |
| `nodes` | [`TransformationNode`](https://docs.bijection.com/api/modules/sql#transformationnode)\[] |
| `output` | `string` |

***

### Compiled

Ƭ **Compiled**: `Object`

Not exported: an exported type refers to it.

#### Type declaration

| Name | Type |
| :- | :- |
| `expression` | [`RelationExpression`](https://docs.bijection.com/api/modules/server#relationexpression) |
| `columns` | [`TransformationColumn`](https://docs.bijection.com/api/modules/sql#transformationcolumn)\[] |

***

### TransformationDialect

Ƭ **TransformationDialect**: `"snowflake"` | `"databricks"` | `"bigquery"` | `"spark"` | `"duckdb"`

***

### TransformationSQL

Ƭ **TransformationSQL**: `Object`

#### Type declaration

| Name | Type | Description |
| :- | :- | :- |
| `definitions` | [`SQLDefinition`](https://docs.bijection.com/api/modules/sql#sqldefinition)\[] | - |
| `query` | [`SQLQuery`](https://docs.bijection.com/api/modules/sql#sqlquery) | - |
| `validations` | \{ `query`: [`SQLQuery`](https://docs.bijection.com/api/modules/sql#sqlquery) ; `checks`: `number`\[]  }\[] | - |
| `plan_id` | `string` | - |
| `implementation` | \{ `artifact_sha256`: `string` ; `source_sha256`: `string` ; `lowerer_sha256`: `string`  } | - |
| `implementation.artifact_sha256` | `string` | - |
| `implementation.source_sha256` | `string` | - |
| `implementation.lowerer_sha256` | `string` | - |
| `read_context` | [`SQLReadContext`](https://docs.bijection.com/api/modules/sql#sqlreadcontext) | - |
| `dependencies` | `Readonly`\<`Record`\<`string`, `string`>> | Must be composed by the execution owner before this fragment is run. |
| `encoding` | [`SQLRelationEncoding`](https://docs.bijection.com/api/modules/sql#sqlrelationencoding) | - |
| `definition_id` | `string` | - |
| `contract` | [`RelationContract`](https://docs.bijection.com/api/modules/sql#relationcontract) | - |
| `checks` | \{ `node`: `string` ; `code`: `string` ; `claim`: [`ValidationClaim`](https://docs.bijection.com/api/modules/sql#validationclaim)  }\[] | - |
| `discharges` | [`Discharge`](https://docs.bijection.com/api/modules/sql#discharge)\[] | Every logical obligation has a checked implementation in this placement. |
| `columns` | [`TransformationColumn`](https://docs.bijection.com/api/modules/sql#transformationcolumn)\[] | - |
| `capabilities` | `string`\[] | The sorted `RELATIONAL_CAPABILITIES` ids the program uses. |
| `runtime_profiles` | readonly \{ `id`: `string` ; `revision`: `string`  }\[] | Exact external kernels required before any statement is evaluated. |
| `runtime_programs` | readonly [`SQLKernelProgram`](https://docs.bijection.com/api/modules/sql#sqlkernelprogram)\[] | Closed programs registered before statements; definitions contain no row data. |

***

### Camel

Ƭ **Camel**\<`S`>: `S` extends \`$\{infer Head}\_$\{infer Tail}\` ? \`$\{Head}$\{Capitalize\<Camel\<Tail>>}\` : `S`

Not exported: an exported type refers to it.

#### Type parameters

| Name | Type |
| :- | :- |
| `S` | extends `string` |

***

### PublicEnum

Ƭ **PublicEnum**\<`S`>: `S` extends `"changed_groups"` ? `"affectedGroups"` : `S` extends `"bounded_recomputation"` ? `"boundedEvaluation"` : [`Camel`](https://docs.bijection.com/api/modules/sql#camel)\<`S`>

Not exported: an exported type refers to it.

#### Type parameters

| Name | Type |
| :- | :- |
| `S` | extends `string` |

***

### EnumField

Ƭ **EnumField**: `"kind"` | `"strategy"` | `"update"` | `"evidence"` | `"provenance"` | `"resume"` | `"completion"` | `"occurrence"` | `"population"` | `"bound"` | `"operation"` | `"operators"` | `"fallback"` | `"$enum"`

Not exported: an exported type refers to it.

***

### DictionaryField

Ƭ **DictionaryField**: `"series_maintenance"` | `"spatial_maintenance"`

Not exported: an exported type refers to it.

***

### OpaqueField

Ƭ **OpaqueField**: `"validator"` | `"program"` | `"args_validator"` | `"logical_columns"`

Not exported: an exported type refers to it.

***

### PublicExplanation

Ƭ **PublicExplanation**\<`T`, `Field`>: `0` extends `1` & `T` ? `T` : `Field` extends [`OpaqueField`](https://docs.bijection.com/api/modules/sql#opaquefield) ? `T` : `T` extends [`ValidatorJSON`](https://docs.bijection.com/api/modules/values#validatorjson) ? `T` : `T` extends `string` ? `Field` extends [`EnumField`](https://docs.bijection.com/api/modules/sql#enumfield) | `""` ? [`PublicEnum`](https://docs.bijection.com/api/modules/sql#publicenum)\<`T`> : `T` : `T` extends readonly `unknown`\[] ? \{ \[K in keyof T]: PublicExplanation\<T\[K], Field> } : `T` extends `object` ? \{ \[K in keyof T as Field extends DictionaryField ? K : K extends string ? Camel\<K> : K]: PublicExplanation\<T\[K], Field extends DictionaryField ? "$dictionaryValue" : T extends Object ? K extends "aggregate" ? "$enum" : K & string : K & string> } : `T`

Not exported: an exported type refers to it.

#### Type parameters

| Name | Type |
| :- | :- |
| `T` | `T` |
| `Field` | extends `string` = `""` |

***

### ViewPlanNotMaintained

Ƭ **ViewPlanNotMaintained**: [`PublicExplanation`](https://docs.bijection.com/api/modules/sql#publicexplanation)\<`wire.ViewPlanNotMaintained`>

***

### ViewPlanMaintainedRead

Ƭ **ViewPlanMaintainedRead**: [`PublicExplanation`](https://docs.bijection.com/api/modules/sql#publicexplanation)\<`wire.ViewPlanMaintainedRead`>

***

### ViewPlanLookup

Ƭ **ViewPlanLookup**: [`PublicExplanation`](https://docs.bijection.com/api/modules/sql#publicexplanation)\<`wire.ViewPlanLookup`>

***

### ViewPlanUnbackedIndex

Ƭ **ViewPlanUnbackedIndex**: [`PublicExplanation`](https://docs.bijection.com/api/modules/sql#publicexplanation)\<`wire.ViewPlanUnbackedIndex`>

***

### ViewPlanStoredAuthorization

Ƭ **ViewPlanStoredAuthorization**: [`PublicExplanation`](https://docs.bijection.com/api/modules/sql#publicexplanation)\<`wire.ViewPlanStoredAuthorization`>

***

### ViewPlanIndexStrategy

Ƭ **ViewPlanIndexStrategy**: [`PublicExplanation`](https://docs.bijection.com/api/modules/sql#publicexplanation)\<`wire.ViewPlanIndexStrategy`>

***

### ViewPlanIndex

Ƭ **ViewPlanIndex**: [`PublicExplanation`](https://docs.bijection.com/api/modules/sql#publicexplanation)\<`wire.ViewPlanIndex`>

***

### ViewPlanNavigationRefusal

Ƭ **ViewPlanNavigationRefusal**: [`PublicExplanation`](https://docs.bijection.com/api/modules/sql#publicexplanation)\<`wire.ViewPlanNavigationRefusal`>

***

### ViewPlanRefusal

Ƭ **ViewPlanRefusal**: [`PublicExplanation`](https://docs.bijection.com/api/modules/sql#publicexplanation)\<`wire.ViewPlanRefusal`>

***

### ViewPlanMaintenanceAdvice

Ƭ **ViewPlanMaintenanceAdvice**: [`PublicExplanation`](https://docs.bijection.com/api/modules/sql#publicexplanation)\<`wire.ViewPlanMaintenanceAdvice`>

***

### ViewPlanExplanation

Ƭ **ViewPlanExplanation**: [`PublicExplanation`](https://docs.bijection.com/api/modules/sql#publicexplanation)\<[`ViewPlanExplanation`](https://docs.bijection.com/api/modules/apps#viewplanexplanation)>

***

### ViewWorkloadEvidence

Ƭ **ViewWorkloadEvidence**: `Object`

#### Type declaration

| Name | Type |
| :- | :- |
| `format_version` | `number` |
| `view` | `string` |
| `view_definition_digest` | `string` |
| `program_artifact` | `string` |
| `workload_digest` | `string` |
| `scope` | [`ViewWorkloadScope`](https://docs.bijection.com/api/modules/sql#viewworkloadscope) |
| `samples` | [`ViewWorkSample`](https://docs.bijection.com/api/modules/sql#viewworksample)\[] |

***

### ViewWorkloadScope

Ƭ **ViewWorkloadScope**: `"dependency_capture"`

***

### ViewWorkSample

Ƭ **ViewWorkSample**: `Object`

#### Type declaration

| Name | Type |
| :- | :- |
| `basis_revision` | `string` |
| `row_steps` | `number` |
| `processed_bytes` | `number` |
| `elapsed_ns` | `string` |

***

### NavigationLink

Ƭ **NavigationLink**: `Object`

Not exported: an exported type refers to it.

#### Type declaration

| Name | Type |
| :- | :- |
| `relations` | `unknown` |

***

### NewField

Ƭ **NewField**\<`Row`, `As`>: `string` extends keyof `Row` ? `As` : `As` extends keyof `Row` ? `never` : `As`

Not exported: an exported type refers to it.

#### Type parameters

| Name |
| :- |
| `Row` |
| `As` |

***

### WithOrder

Ƭ **WithOrder**\<`T`>: `Omit`\<`T`, `"ordered"`> & \{ `ordered`: `true`  }

Not exported: an exported type refers to it.

#### Type parameters

| Name |
| :- |
| `T` |

***

### ProblemsOf

Ƭ **ProblemsOf**\<`T`>: `T` extends \{ `problems`: infer P  } ? `P` : `never`

Not exported: an exported type refers to it.

#### Type parameters

| Name |
| :- |
| `T` |

***

### TablesOf

Ƭ **TablesOf**\<`T`>: `T` extends \{ `tables`: infer N  } ? `N` : `never`

Not exported: an exported type refers to it.

#### Type parameters

| Name |
| :- |
| `T` |

***

### ScanOf

Ƭ **ScanOf**\<`T`>: `T` extends \{ `scan`: infer S  } ? `S` : `never`

Not exported: an exported type refers to it.

#### Type parameters

| Name |
| :- |
| `T` |

***

### AliasedOrigins

Ƭ **AliasedOrigins**\<`T`, `As`>: `0` extends `1` & [`OriginsOf`](https://docs.bijection.com/api/modules/apps#originsof)\<`T`> ? `any` : \{ \[K in As]: OriginsOf\<T> extends Object ? Source : never }

Not exported: an exported type refers to it.

#### Type parameters

| Name | Type |
| :- | :- |
| `T` | `T` |
| `As` | extends `string` |

***

### AliasedRelation

Ƭ **AliasedRelation**\<`T`, `As`>: `As` extends `string` ? `Omit`\<`T`, `"origins"`> & \{ `origins`: [`AliasedOrigins`](https://docs.bijection.com/api/modules/sql#aliasedorigins)\<`T`, `As`>  } : `T`

Not exported: an exported type refers to it.

#### Type parameters

| Name |
| :- |
| `T` |
| `As` |

***

### ExistenceJoined

Ƭ **ExistenceJoined**\<`T`, `Right`, `Problems`>: [`Rel`](https://docs.bijection.com/api/modules/apps#rel)\<[`RelationRow`](https://docs.bijection.com/api/modules/server#relationrow)\<`T`>, [`IdentityOf`](https://docs.bijection.com/api/modules/server#identityof)\<`T`>, [`RelationArgumentNames`](https://docs.bijection.com/api/modules/series#relationargumentnames)\<`T`> | [`RelationArgumentNames`](https://docs.bijection.com/api/modules/series#relationargumentnames)\<`Right`>, [`ProblemsOf`](https://docs.bijection.com/api/modules/sql#problemsof)\<`T`> | [`ProblemsOf`](https://docs.bijection.com/api/modules/sql#problemsof)\<`Right`> | `Problems`, [`TablesOf`](https://docs.bijection.com/api/modules/sql#tablesof)\<`T`> | [`TablesOf`](https://docs.bijection.com/api/modules/sql#tablesof)\<`Right`>, `never`, `RelationOrdering`\<`T`>> & \{ `origins?`: [`OriginsOf`](https://docs.bijection.com/api/modules/apps#originsof)\<`T`>  }

Not exported: an exported type refers to it.

#### Type parameters

| Name | Type |
| :- | :- |
| `T` | `T` |
| `Right` | `Right` |
| `Problems` | extends `string` = `never` |

***

### ExecutionContract

Ƭ **ExecutionContract**: `"Execution contracts belong to queries"`

Not exported: an exported type refers to it.

***

### OrderedRelation

Ƭ **OrderedRelation**: `"Ordered and limited relations belong to queries"`

Not exported: an exported type refers to it.

***

### RelationalOperator

Ƭ **RelationalOperator**: `"This operator belongs to relational pipelines"`

Not exported: an exported type refers to it.

***

### UnionOperator

Ƭ **UnionOperator**: `"A union of relations defines a view only through grouping"`

Not exported: an exported type refers to it.

***

### SameRows

Ƭ **SameRows**\<`Left`, `Right`>: `0` extends `1` & `Left` ? `unknown` : `0` extends `1` & `Right` ? `unknown` : \[`Left`] extends \[`Right`] ? \[`Right`] extends \[`Left`] ? `unknown` : \{ `unionError`: `"Union inputs require identical fields"`  } : \{ `unionError`: `"Union inputs require identical fields"`  }

Not exported: an exported type refers to it.

#### Type parameters

| Name |
| :- |
| `Left` |
| `Right` |

***

### IndexDoc

Ƭ **IndexDoc**\<`T`>: [`ScanOf`](https://docs.bijection.com/api/modules/sql#scanof)\<`T`> extends \{ `doc`: infer Doc  } ? `Doc` : `any`

Not exported: an exported type refers to it.

#### Type parameters

| Name |
| :- |
| `T` |

***

### IndexesOf

Ƭ **IndexesOf**\<`T`>: [`ScanOf`](https://docs.bijection.com/api/modules/sql#scanof)\<`T`> extends \{ `indexes`: infer Indexes  } ? `Indexes` : `never`

Not exported: an exported type refers to it.

#### Type parameters

| Name |
| :- |
| `T` |

***

### IndexFields

Ƭ **IndexFields**\<`T`, `Index`>: `Index` extends keyof [`IndexesOf`](https://docs.bijection.com/api/modules/sql#indexesof)\<`T`> ? [`IndexesOf`](https://docs.bijection.com/api/modules/sql#indexesof)\<`T`>\[`Index`] extends infer Fields ? `Fields` : `string`\[] : `string`\[]

Not exported: an exported type refers to it.

#### Type parameters

| Name |
| :- |
| `T` |
| `Index` |

***

### JoinedRow

Ƭ **JoinedRow**\<`Right`, `As`>: `As` extends `string` ? \{ \[K in As]: Right } : `Right`

Not exported: an exported type refers to it.

#### Type parameters

| Name |
| :- |
| `Right` |
| `As` |

***

### LeftJoinedRow

Ƭ **LeftJoinedRow**\<`Right`, `As`>: `As` extends `string` ? \{ \[K in As]?: Right } : `Partial`\<`Right`>

Not exported: an exported type refers to it.

#### Type parameters

| Name |
| :- |
| `Right` |
| `As` |

***

### ViewOperatorProblem

Ƭ **ViewOperatorProblem**\<`T`>: `0` extends `1` & `T` ? `never` : [`ProblemsOf`](https://docs.bijection.com/api/modules/sql#problemsof)\<`T`>

Not exported: an exported type refers to it.

#### Type parameters

| Name |
| :- |
| `T` |

## Variables

### flinkCheckpoint

• `Const` **flinkCheckpoint**: [`VObject`](https://docs.bijection.com/api/classes/values.VObject)\<\{ `lag`: `Record`\<`string`, `bigint`> ; `format`: `"bijection.flink-checkpoint/v1"` ; `delivery`: `"boundary"` | `"continuous"` ; `location`: `string` ; `sources`: `Record`\<`string`, `string`> ; `job`: `string` ; `checkpoint_id`: `bigint` ; `supersedes`: `string` ; `sinks`: `Record`\<`string`, `string`> ; `cuts`: `Record`\<`string`, `string`> ; `committed_at_ms`: `bigint`  }, \{ `format`: [`VLiteral`](https://docs.bijection.com/api/classes/values.VLiteral)\<`"bijection.flink-checkpoint/v1"`, `"required"`> ; `delivery`: [`VUnion`](https://docs.bijection.com/api/classes/values.VUnion)\<`"boundary"` | `"continuous"`, \[[`VLiteral`](https://docs.bijection.com/api/classes/values.VLiteral)\<`"boundary"`, `"required"`>, [`VLiteral`](https://docs.bijection.com/api/classes/values.VLiteral)\<`"continuous"`, `"required"`>], `"required"`, `never`> ; `job`: [`VString`](https://docs.bijection.com/api/classes/values.VString)\<`string`, `"required"`> ; `checkpoint_id`: [`VInt64`](https://docs.bijection.com/api/classes/values.VInt64)\<`bigint`, `"required"`> ; `location`: [`VString`](https://docs.bijection.com/api/classes/values.VString)\<`string`, `"required"`> ; `supersedes`: [`VString`](https://docs.bijection.com/api/classes/values.VString)\<`string`, `"required"`> ; `sources`: [`VRecord`](https://docs.bijection.com/api/classes/values.VRecord)\<`Record`\<`string`, `string`>, [`VString`](https://docs.bijection.com/api/classes/values.VString)\<`string`, `"required"`>, [`VString`](https://docs.bijection.com/api/classes/values.VString)\<`string`, `"required"`>, `"required"`, `string`> ; `sinks`: [`VRecord`](https://docs.bijection.com/api/classes/values.VRecord)\<`Record`\<`string`, `string`>, [`VString`](https://docs.bijection.com/api/classes/values.VString)\<`string`, `"required"`>, [`VString`](https://docs.bijection.com/api/classes/values.VString)\<`string`, `"required"`>, `"required"`, `string`> ; `cuts`: [`VRecord`](https://docs.bijection.com/api/classes/values.VRecord)\<`Record`\<`string`, `string`>, [`VString`](https://docs.bijection.com/api/classes/values.VString)\<`string`, `"required"`>, [`VString`](https://docs.bijection.com/api/classes/values.VString)\<`string`, `"required"`>, `"required"`, `string`> ; `committed_at_ms`: [`VInt64`](https://docs.bijection.com/api/classes/values.VInt64)\<`bigint`, `"required"`> ; `lag`: [`VRecord`](https://docs.bijection.com/api/classes/values.VRecord)\<`Record`\<`string`, `bigint`>, [`VString`](https://docs.bijection.com/api/classes/values.VString)\<`string`, `"required"`>, [`VInt64`](https://docs.bijection.com/api/classes/values.VInt64)\<`bigint`, `"required"`>, `"required"`, `string`>  }, `"required"`, `"lag"` | `"format"` | `"delivery"` | `"location"` | `"sources"` | `"job"` | `"checkpoint_id"` | `"supersedes"` | `"sinks"` | `"cuts"` | `"committed_at_ms"` | \`lag.$\{string}\` \| \`sources.$\{string}\` | \`sinks.$\{string}\` \| \`cuts.$\{string}\`>

The externalized Flink checkpoint a boundary restores and produces: one
accepted commit. The runner restores the job from `location`, a savepoint
it owns (aligned for a boundary; for continuous delivery, the pinned
snapshot that is itself the commit) and disposes once a successor
superseding it is accepted;
`sources` records the exact admitted input versions it consumed through,
`cuts` each stream's occurrence ranges, and `sinks` the output snapshots it
staged, so the next boundary continues from exactly this cut.

***

### materializeFrontier

• `Const` **materializeFrontier**: [`VObject`](https://docs.bijection.com/api/classes/values.VObject)\<\{ `format`: `"bijection.materialize-frontier/v1"` ; `relations`: `Record`\<`string`, \{ upper: bigint; since: bigint; }> ; `as_of`: `bigint`  }, \{ `format`: [`VLiteral`](https://docs.bijection.com/api/classes/values.VLiteral)\<`"bijection.materialize-frontier/v1"`, `"required"`> ; `as_of`: [`VInt64`](https://docs.bijection.com/api/classes/values.VInt64)\<`bigint`, `"required"`> ; `relations`: [`VRecord`](https://docs.bijection.com/api/classes/values.VRecord)\<`Record`\<`string`, \{ `upper`: `bigint` ; `since`: `bigint`  }>, [`VString`](https://docs.bijection.com/api/classes/values.VString)\<`string`, `"required"`>, [`VObject`](https://docs.bijection.com/api/classes/values.VObject)\<\{ `upper`: `bigint` ; `since`: `bigint`  }, \{ `since`: [`VInt64`](https://docs.bijection.com/api/classes/values.VInt64)\<`bigint`, `"required"`> ; `upper`: [`VInt64`](https://docs.bijection.com/api/classes/values.VInt64)\<`bigint`, `"required"`>  }, `"required"`, `"upper"` | `"since"`>, `"required"`, `string`>  }, `"required"`, `"format"` | `"relations"` | `"as_of"` | \`relations.\$\{string}\`>

The Materialize timestamp a boundary read its frontier-consistent snapshot
at, with each relation's read frontier observed at that time.

***

### RELATIONAL\_ENGINES

• `Const` **RELATIONAL\_ENGINES**: \[`"bigquery"`, `"bijection"`, `"databricks"`, `"duckdb"`, `"snowflake"`, `"spark"`]

Engines a captured plan may run on. `bijection` is the SDK's reference
evaluator hosted by the Bijection job worker, for bounded runs whose rows
pass through the store; the others are exact SQL lowerings the engine runs
in place over the store's input references (DuckDB through `iceberg_scan`).

***

### RELATIONAL\_COST\_ENFORCEMENT

• `Const` **RELATIONAL\_COST\_ENFORCEMENT**: `Readonly`\<`Partial`\<`Record`\<[`RelationalEngine`](https://docs.bijection.com/api/modules/sql#relationalengine), `Readonly`\<`Partial`\<`Record`\<keyof [`CapturedRelationalCostLimits`](https://docs.bijection.com/api/modules/computations#capturedrelationalcostlimits), `string`>>>>>>

The provider-native mechanism each engine uses for each captured limit.
An engine or limit absent here has no provider enforcement and is refused.

***

### GEOMETRY\_OPERATORS

• `Const` **GEOMETRY\_OPERATORS**: \[\{ `id`: `"buffer"` = "buffer"; `operands`: \[`"geometry"`, `"metres"`] ; `result`: `"polygons"` = "polygons" }, \{ `id`: `"simplify"` = "simplify"; `operands`: \[`"geometry"`, `"metres"`] ; `result`: `"same"` = "same" }, \{ `id`: `"centroid"` = "centroid"; `operands`: \[`"geometry"`] ; `result`: `"point"` = "point" }, \{ `id`: `"standardize"` = "standardize"; `operands`: \[`"geometry"`] ; `result`: `"same"` = "same" }, \{ `id`: `"bijection_hull"` = "bijection\_hull"; `operands`: \[`"geometry"`] ; `result`: `"geometry"` = "geometry" }, \{ `id`: `"boundary"` = "boundary"; `operands`: \[`"geometry"`] ; `result`: `"geometry"` = "geometry" }, \{ `id`: `"area"` = "area"; `operands`: \[`"geometry"`] ; `result`: `"number"` = "number" }, \{ `id`: `"length"` = "length"; `operands`: \[`"geometry"`] ; `result`: `"number"` = "number" }, \{ `id`: `"perimeter"` = "perimeter"; `operands`: \[`"geometry"`] ; `result`: `"number"` = "number" }, \{ `id`: `"overlay"` = "overlay"; `operands`: \[`"geometry"`, `"geometry"`] ; `result`: `"geometry"` = "geometry" }, \{ `id`: `"transform"` = "transform"; `operands`: \[`"geometry"`] ; `result`: `"same"` = "same" }, \{ `id`: `"ground_projection"` = "ground\_projection"; `operands`: \[`"geometry"`] ; `result`: `"geometry"` = "geometry" }, \{ `id`: `"affine_3d"` = "affine\_3d"; `operands`: \[`"geometry"`] ; `result`: `"same"` = "same" }, \{ `id`: `"destination"` = "destination"; `operands`: \[`"point"`] ; `result`: `"point"` = "point" }]

***

### RELATIONAL\_IMPLEMENTATION

• `Const` **RELATIONAL\_IMPLEMENTATION**: `Readonly`\<\{ `artifact_sha256`: `"65a3c341dbf9b0b91e57159ce3c5b76bdfad39227c0ce9384268784ec1ce82f7"` = "65a3c341dbf9b0b91e57159ce3c5b76bdfad39227c0ce9384268784ec1ce82f7"; `source_sha256`: `"1a70cf6e8d6cb6140c4854b00b4539d19aef825ca04f0673d8e058bc1e03c845"` = "1a70cf6e8d6cb6140c4854b00b4539d19aef825ca04f0673d8e058bc1e03c845"; `lowerer_sha256`: `"a030fc937236a06a62b9c09d5a46b541ec376f7bef9ab4600865006aedf062d2"` = "a030fc937236a06a62b9c09d5a46b541ec376f7bef9ab4600865006aedf062d2" }>

***

### RELATIONAL\_PROFILE

• `Const` **RELATIONAL\_PROFILE**: `"bijection-relational/v117"`

***

### RELATIONAL\_PROFILE\_DATA

• `Const` **RELATIONAL\_PROFILE\_DATA**: `Readonly`\<\{ `id`: `"bijection-relational/v117"` = "bijection-relational/v117"; `source_sha256`: `"1a70cf6e8d6cb6140c4854b00b4539d19aef825ca04f0673d8e058bc1e03c845"` = "1a70cf6e8d6cb6140c4854b00b4539d19aef825ca04f0673d8e058bc1e03c845"; `unicode`: `"17.0.0"` = "17.0.0"; `timezone`: `"2026c"` = "2026c"; `regular_expression`: `"rust-regex/1.13.1;bijection-java17-regex-subset/v3"` = "rust-regex/1.13.1;bijection-java17-regex-subset/v3"; `json`: `"strict-schema-rfc6901-last-key-spark4-jsonpath-first-success-exact-numbers-rfc9535-core-selection/v3"` = "strict-schema-rfc6901-last-key-spark4-jsonpath-first-success-exact-numbers-rfc9535-core-selection/v3"; `text_order`: `"utf8"` = "utf8"; `sql_unicode_ci`: `"unicode_ci/icu4x-casemap-1.5.1-normalizer-1.5.0/nfc-full-default-fold-nfc/utf8-v1"` = "unicode\_ci/icu4x-casemap-1.5.1-normalizer-1.5.0/nfc-full-default-fold-nfc/utf8-v1"; `sql_unicode_turkic_ci`: `"unicode_turkic_ci/icu4x-casemap-1.5.1-normalizer-1.5.0/nfc-full-turkic-fold-nfc/utf8-v1"` = "unicode\_turkic\_ci/icu4x-casemap-1.5.1-normalizer-1.5.0/nfc-full-turkic-fold-nfc/utf8-v1"; `sql_locale_collations`: `"icu4x-collator-and-data-2.4.0/sv,de-u-co-phonebk,es-u-co-trad,fr-CA,cs,pl,da,zh-u-co-pinyin/secondary/hex-sort-key-v1"` = "icu4x-collator-and-data-2.4.0/sv,de-u-co-phonebk,es-u-co-trad,fr-CA,cs,pl,da,zh-u-co-pinyin/secondary/hex-sort-key-v1"; `native_value_order`: `"convex-value-order/v1"` = "convex-value-order/v1"; `decimal_precision`: `38` = 38; `occurrence`: `"nominal-locators-typed-domains-utf8-length-framed-closed-key-tuples/v5"` = "nominal-locators-typed-domains-utf8-length-framed-closed-key-tuples/v5" }>

***

### RELATIONAL\_BOUNDS

• `Const` **RELATIONAL\_BOUNDS**: `Readonly`\<\{ `max_plan_bytes`: `16777216` = 16777216; `max_nodes`: `100000` = 100000; `max_recursion_rounds`: `10000` = 10000; `max_depth`: `128` = 128; `max_fields`: `65535` = 65535; `max_inputs`: `65535` = 65535; `max_arguments`: `65535` = 65535; `max_join_candidates`: `1000000` = 1000000; `max_array_elements`: `1000000` = 1000000; `max_map_entries`: `1024` = 1024; `max_scalars`: `100000` = 100000; `max_type_bytes`: `16777216` = 16777216; `max_regex_patterns`: `16` = 16; `max_regex_pattern_bytes`: `4096` = 4096; `max_json_bytes`: `1048576` = 1048576; `max_json_pointer_segments`: `64` = 64; `max_analytical_row_steps`: `1000000000` = 1000000000; `max_analytical_processed_bytes`: `2147483647` = 2147483647; `max_analytical_value_bytes`: `16777216` = 16777216; `max_analytical_value_nodes`: `4000000` = 4000000 }>

***

### RELATIONAL\_CAPABILITIES

• `Const` **RELATIONAL\_CAPABILITIES**: readonly `Readonly`\<\{ `id`: `"relational.admission_time"` = "relational.admission\_time"; `label`: `"Admission time"` = "Admission time"; `description`: `"Exact original admission microseconds supplied once by the request owner, stable through recovery."` = "Exact original admission microseconds supplied once by the request owner, stable through recovery." } | \{ `id`: `"relational.approximation"` = "relational.approximation"; `label`: `"Explicit approximations"` = "Explicit approximations"; `description`: `"Deterministic bottom-k estimates with requested relative or rank error and confidence; deletions require recomputation."` = "Deterministic bottom-k estimates with requested relative or rank error and confidence; deletions require recomputation." } | \{ `id`: `"relational.arithmetic"` = "relational.arithmetic"; `label`: `"Arithmetic and comparisons"` = "Arithmetic and comparisons"; `description`: `"Exact typed arithmetic and comparisons with checked overflow and explicit numeric domains."` = "Exact typed arithmetic and comparisons with checked overflow and explicit numeric domains." } | \{ `id`: `"relational.array"` = "relational.array"; `label`: `"Array expressions"` = "Array expressions"; `description`: `"Typed construction, access, membership and lexical map, filter and reduction with exact element and presence contracts."` = "Typed construction, access, membership and lexical map, filter and reduction with exact element and presence contracts." } | \{ `id`: `"relational.binary"` = "relational.binary"; `label`: `"Binary values"` = "Binary values"; `description`: `"Opaque bytes, exact equality and unsigned byte ordering, including nested values."` = "Opaque bytes, exact equality and unsigned byte ordering, including nested values." } | \{ `id`: `"relational.clock"` = "relational.clock"; `label`: `"Clock inputs"` = "Clock inputs"; `description`: `"Epoch-aligned captured time with an explicit validity boundary; executors never invent wall time."` = "Epoch-aligned captured time with an explicit validity boundary; executors never invent wall time." } | \{ `id`: `"relational.conditional"` = "relational.conditional"; `label`: `"Conditions"` = "Conditions"; `description`: `"Conditional values, membership, null and missing tests, coalesce, least and greatest."` = "Conditional values, membership, null and missing tests, coalesce, least and greatest." } | \{ `id`: `"relational.date"` = "relational.date"; `label`: `"Dates"` = "Dates"; `description`: `"Calendar date columns, literals, day arithmetic and date parts."` = "Calendar date columns, literals, day arithmetic and date parts." } | \{ `id`: `"relational.decimal"` = "relational.decimal"; `label`: `"Decimals"` = "Decimals"; `description`: `"Exact fixed-scale decimals: columns, literals, arithmetic, averages and decimal sums."` = "Exact fixed-scale decimals: columns, literals, arithmetic, averages and decimal sums." } | \{ `id`: `"relational.deduplicate"` = "relational.deduplicate"; `label`: `"Deduplicate"` = "Deduplicate"; `description`: `"One row per key, the first under an ordering; unresolved ties fail."` = "One row per key, the first under an ordering; unresolved ties fail." } | \{ `id`: `"relational.extrema"` = "relational.extrema"; `label`: `"Extrema"` = "Extrema"; `description`: `"Minimum and maximum of scalar values, ignoring missing and null."` = "Minimum and maximum of scalar values, ignoring missing and null." } | \{ `id`: `"relational.filter"` = "relational.filter"; `label`: `"Filter"` = "Filter"; `description`: `"Keep the rows a present boolean predicate holds for."` = "Keep the rows a present boolean predicate holds for." } | \{ `id`: `"relational.float"` = "relational.float"; `label`: `"Binary64"` = "Binary64"; `description`: `"Finite binary64 values and exact accumulation with one final rounding."` = "Finite binary64 values and exact accumulation with one final rounding." } | \{ `id`: `"relational.group"` = "relational.group"; `label`: `"Group"` = "Group"; `description`: `"Complete keyed reductions, counts, exact sums, averages, percentiles, statistics and bounded collections."` = "Complete keyed reductions, counts, exact sums, averages, percentiles, statistics and bounded collections." } | \{ `id`: `"relational.guarantee"` = "relational.guarantee"; `label`: `"Business guarantees"` = "Business guarantees"; `description`: `"Mandatory present boolean predicates over every input row; preserve duplicates and refuse on failure."` = "Mandatory present boolean predicates over every input row; preserve duplicates and refuse on failure." } | \{ `id`: `"relational.join"` = "relational.join"; `label`: `"Join"` = "Join"; `description`: `"Inner, left, right, full and cross joins with explicit predicates, multiplicity and cardinality obligations."` = "Inner, left, right, full and cross joins with explicit predicates, multiplicity and cardinality obligations." } | \{ `id`: `"relational.lateral"` = "relational.lateral"; `label`: `"Correlated relations"` = "Correlated relations"; `description`: `"One complete right population per left occurrence, with lexical outer fields, ordinary grouping and explicit empty and cardinality contracts."` = "One complete right population per left occurrence, with lexical outer fields, ordinary grouping and explicit empty and cardinality contracts." } | \{ `id`: `"relational.map"` = "relational.map"; `label`: `"Typed analytical maps"` = "Typed analytical maps"; `description`: `"Unique ordered scalar or closed composite keys, exact homogeneous values, canonical entry-map carriers, duplicate refusal and typed lookup, keys and values."` = "Unique ordered scalar or closed composite keys, exact homogeneous values, canonical entry-map carriers, duplicate refusal and typed lookup, keys and values." } | \{ `id`: `"relational.nested"` = "relational.nested"; `label`: `"Nested values"` = "Nested values"; `description`: `"Struct and list columns and struct member access."` = "Struct and list columns and struct member access." } | \{ `id`: `"relational.project"` = "relational.project"; `label`: `"Project"` = "Project"; `description`: `"Named fields, scalar expressions and literals."` = "Named fields, scalar expressions and literals." } | \{ `id`: `"relational.rank"` = "relational.rank"; `label`: `"Ranking"` = "Ranking"; `description`: `"Ordered ranking within each partition; unresolved semantic ties fail."` = "Ordered ranking within each partition; unresolved semantic ties fail." } | \{ `id`: `"relational.recursion"` = "relational.recursion"; `label`: `"Recursive relations"` = "Recursive relations"; `description`: `"Positive least fixed points with complete scalar-row set identity, or bag iteration over the previous frontier with stable occurrence identities; both refuse incomplete results on budget exhaustion."` = "Positive least fixed points with complete scalar-row set identity, or bag iteration over the previous frontier with stable occurrence identities; both refuse incomplete results on budget exhaustion." } | \{ `id`: `"relational.reference"` = "relational.reference"; `label`: `"Native references"` = "Native references"; `description`: `"Nominal table references preserve identity; complete source populations refuse conflicting rows under one native locator."` = "Nominal table references preserve identity; complete source populations refuse conflicting rows under one native locator." } | \{ `id`: `"relational.semi_join"` = "relational.semi\_join"; `label`: `"Existence join"` = "Existence join"; `description`: `"Keep rows that have (or have no) related row; null and missing keys match themselves."` = "Keep rows that have (or have no) related row; null and missing keys match themselves." } | \{ `id`: `"relational.string"` = "relational.string"; `label`: `"Text and structured text"` = "Text and structured text"; `description`: `"Unicode text operations, regular expressions and typed JSON parsing with explicit failures."` = "Unicode text operations, regular expressions and typed JSON parsing with explicit failures." } | \{ `id`: `"relational.struct"` = "relational.struct"; `label`: `"Struct expressions"` = "Struct expressions"; `description`: `"Typed struct construction and field replacement preserve nested domains and independent null/missing fields."` = "Typed struct construction and field replacement preserve nested domains and independent null/missing fields." } | \{ `id`: `"relational.timestamp"` = "relational.timestamp"; `label`: `"Timestamps"` = "Timestamps"; `description`: `"UTC instant columns, literals, pattern parsing and formatting in IANA time zones, microsecond arithmetic."` = "UTC instant columns, literals, pattern parsing and formatting in IANA time zones, microsecond arithmetic." } | \{ `id`: `"relational.union"` = "relational.union"; `label`: `"Union"` = "Union"; `description`: `"All occurrences from relations with identical fields; duplicates retain their multiplicity."` = "All occurrences from relations with identical fields; duplicates retain their multiplicity." } | \{ `id`: `"relational.unnest"` = "relational.unnest"; `label`: `"Unnest"` = "Unnest"; `description`: `"One row per list element; null, missing and empty lists produce no rows."` = "One row per list element; null, missing and empty lists produce no rows." } | \{ `id`: `"relational.window"` = "relational.window"; `label`: `"Analytical windows"` = "Analytical windows"; `description`: `"Ranking, offsets and aggregates over explicit row or exact value-distance frames while retaining every row."` = "Ranking, offsets and aggregates over explicit row or exact value-distance frames while retaining every row." } | \{ `id`: `"spatial.geometry"` = "spatial.geometry"; `label`: `"Geometry operations"` = "Geometry operations"; `description`: `"Typed constructive, measurement, overlay, coordinate transformation and height operations with explicit frames and numerical contracts."` = "Typed constructive, measurement, overlay, coordinate transformation and height operations with explicit frames and numerical contracts." }>\[]

***

### transformationParameters

• `Const` **transformationParameters**: [`VObject`](https://docs.bijection.com/api/classes/values.VObject)\<\{ `graph`: \{ version: 1; output: string; nodes: (\{ kind: "input"; id: string; table: string; } | \{ kind: "filter"; id: string; value: \{ kind: "string" | "boolean" | "float64" | "int64" | "null" | "missing"; value: string; }; field: string; input: string; comparison: "eq" | ... 4 more ... | "neq"; } | \{ ...; } | \{ ...; } | \{ .....  }, \{ `graph`: [`VObject`](https://docs.bijection.com/api/classes/values.VObject)\<\{ `version`: `1` ; `output`: `string` ; `nodes`: (\{ kind: "input"; id: string; table: string; } | \{ kind: "filter"; id: string; value: \{ kind: "string" | "boolean" | "float64" | "int64" | "null" | "missing"; value: string; }; field: string; input: string; comparison: "eq" | "lt" | "lte" | "gt" | "gte" | "neq"; } | \{ kind: "project"; id: string; fields: \{ name: string; from: string; }\[]; input: string; } | \{ kind: "calculate"; name: string; id: string; left: string; right: \{ kind: "field"; field: string; } | \{ kind: "literal"; value: \{ kind: "string" | "boolean" | "float64" | "int64" | "null" | "missing"; value: string; }; }; input: string; operator: "sub" | ... 2 more ... | "div"; } | \{ kind: "join"; id: string; join: "inner" | "left"; alias: string; right: string; at\_most\_one: boolean; input: string; left\_field: string; right\_field: string; } | \{ kind: "group"; id: string; keys: string\[]; input: string; measures: \{ field?: string; kind: "sum" | "count" | "count\_distinct"; name: string; }\[]; })\[]  }, \{ `version`: [`VLiteral`](https://docs.bijection.com/api/classes/values.VLiteral)\<`1`, `"required"`> ; `output`: [`VString`](https://docs.bijection.com/api/classes/values.VString)\<`string`, `"required"`> ; `nodes`: [`VArray`](https://docs.bijection.com/api/classes/values.VArray)\<(\{ `kind`: `"input"` ; `id`: `string` ; `table`: `string`  } | \{ `kind`: `"filter"` ; `id`: `string` ; `value`: \{ kind: "string" | "boolean" | "float64" | "int64" | "null" | "missing"; value: string; } ; `field`: `string` ; `input`: `string` ; `comparison`: `"eq"` | `"lt"` | `"lte"` | `"gt"` | `"gte"` | `"neq"`  } | \{ `kind`: `"project"` ; `id`: `string` ; `fields`: \{ name: string; from: string; }\[] ; `input`: `string`  } | \{ `kind`: `"calculate"` ; `name`: `string` ; `id`: `string` ; `left`: `string` ; `right`: \{ kind: "field"; field: string; } | \{ kind: "literal"; value: \{ kind: "string" | "boolean" | "float64" | "int64" | "null" | "missing"; value: string; }; } ; `input`: `string` ; `operator`: `"sub"` | `"add"` | `"mul"` | `"div"`  } | \{ `kind`: `"join"` ; `id`: `string` ; `join`: `"inner"` | `"left"` ; `alias`: `string` ; `right`: `string` ; `at_most_one`: `boolean` ; `input`: `string` ; `left_field`: `string` ; `right_field`: `string`  } | \{ `kind`: `"group"` ; `id`: `string` ; `keys`: `string`\[] ; `input`: `string` ; `measures`: \{ field?: string; kind: "sum" | "count" | "count\_distinct"; name: string; }\[]  })\[], [`VUnion`](https://docs.bijection.com/api/classes/values.VUnion)\<\{ `kind`: `"input"` ; `id`: `string` ; `table`: `string`  } | \{ `kind`: `"filter"` ; `id`: `string` ; `value`: \{ kind: "string" | "boolean" | "float64" | "int64" | "null" | "missing"; value: string; } ; `field`: `string` ; `input`: `string` ; `comparison`: `"eq"` | `"lt"` | `"lte"` | `"gt"` | `"gte"` | `"neq"`  } | \{ `kind`: `"project"` ; `id`: `string` ; `fields`: \{ name: string; from: string; }\[] ; `input`: `string`  } | \{ `kind`: `"calculate"` ; `name`: `string` ; `id`: `string` ; `left`: `string` ; `right`: \{ kind: "field"; field: string; } | \{ kind: "literal"; value: \{ kind: "string" | "boolean" | "float64" | "int64" | "null" | "missing"; value: string; }; } ; `input`: `string` ; `operator`: `"sub"` | `"add"` | `"mul"` | `"div"`  } | \{ `kind`: `"join"` ; `id`: `string` ; `join`: `"inner"` | `"left"` ; `alias`: `string` ; `right`: `string` ; `at_most_one`: `boolean` ; `input`: `string` ; `left_field`: `string` ; `right_field`: `string`  } | \{ `kind`: `"group"` ; `id`: `string` ; `keys`: `string`\[] ; `input`: `string` ; `measures`: \{ field?: string; kind: "sum" | "count" | "count\_distinct"; name: string; }\[]  }, \[[`VObject`](https://docs.bijection.com/api/classes/values.VObject)\<\{ `kind`: `"input"` ; `id`: `string` ; `table`: `string`  }, \{ `id`: [`VString`](https://docs.bijection.com/api/classes/values.VString)\<`string`, `"required"`> ; `kind`: [`VLiteral`](https://docs.bijection.com/api/classes/values.VLiteral)\<`"input"`, `"required"`> ; `table`: [`VString`](https://docs.bijection.com/api/classes/values.VString)\<`string`, `"required"`>  }, `"required"`, `"kind"` | `"id"` | `"table"`>, [`VObject`](https://docs.bijection.com/api/classes/values.VObject)\<\{ `kind`: `"filter"` ; `id`: `string` ; `value`: \{ kind: "string" | "boolean" | "float64" | "int64" | "null" | "missing"; value: string; } ; `field`: `string` ; `input`: `string` ; `comparison`: `"eq"` | `"lt"` | `"lte"` | `"gt"` | `"gte"` | `"neq"`  }, \{ `id`: [`VString`](https://docs.bijection.com/api/classes/values.VString)\<`string`, `"required"`> ; `kind`: [`VLiteral`](https://docs.bijection.com/api/classes/values.VLiteral)\<`"filter"`, `"required"`> ; `input`: [`VString`](https://docs.bijection.com/api/classes/values.VString)\<`string`, `"required"`> ; `field`: [`VString`](https://docs.bijection.com/api/classes/values.VString)\<`string`, `"required"`> ; `comparison`: [`VUnion`](https://docs.bijection.com/api/classes/values.VUnion)\<`"eq"` | `"lt"` | `"lte"` | `"gt"` | `"gte"` | `"neq"`, \[[`VLiteral`](https://docs.bijection.com/api/classes/values.VLiteral)\<`"eq"`, `"required"`>, [`VLiteral`](https://docs.bijection.com/api/classes/values.VLiteral)\<`"neq"`, `"required"`>, [`VLiteral`](https://docs.bijection.com/api/classes/values.VLiteral)\<`"lt"`, `"required"`>, [`VLiteral`](https://docs.bijection.com/api/classes/values.VLiteral)\<`"lte"`, `"required"`>, [`VLiteral`](https://docs.bijection.com/api/classes/values.VLiteral)\<`"gt"`, `"required"`>, [`VLiteral`](https://docs.bijection.com/api/classes/values.VLiteral)\<`"gte"`, `"required"`>], `"required"`, `never`> ; `value`: [`VObject`](https://docs.bijection.com/api/classes/values.VObject)\<\{ `kind`: `"string"` | `"boolean"` | `"float64"` | `"int64"` | `"null"` | `"missing"` ; `value`: `string`  }, \{ `kind`: [`VUnion`](https://docs.bijection.com/api/classes/values.VUnion)\<`"string"` | `"boolean"` | `"float64"` | `"int64"` | `"null"` | `"missing"`, \[[`VLiteral`](https://docs.bijection.com/api/classes/values.VLiteral)\<`"string"`, `"required"`>, [`VLiteral`](https://docs.bijection.com/api/classes/values.VLiteral)\<`"int64"`, `"required"`>, [`VLiteral`](https://docs.bijection.com/api/classes/values.VLiteral)\<`"float64"`, `"required"`>, [`VLiteral`](https://docs.bijection.com/api/classes/values.VLiteral)\<`"boolean"`, `"required"`>, [`VLiteral`](https://docs.bijection.com/api/classes/values.VLiteral)\<`"null"`, `"required"`>, [`VLiteral`](https://docs.bijection.com/api/classes/values.VLiteral)\<`"missing"`, `"required"`>], `"required"`, `never`> ; `value`: [`VString`](https://docs.bijection.com/api/classes/values.VString)\<`string`, `"required"`>  }, `"required"`, `"kind"` | `"value"`> = literal }, `"required"`, `"kind"` | `"id"` | `"value"` | `"field"` | `"input"` | `"comparison"` | `"value.kind"` | `"value.value"`>, [`VObject`](https://docs.bijection.com/api/classes/values.VObject)\<\{ `kind`: `"project"` ; `id`: `string` ; `fields`: \{ name: string; from: string; }\[] ; `input`: `string`  }, \{ `id`: [`VString`](https://docs.bijection.com/api/classes/values.VString)\<`string`, `"required"`> ; `kind`: [`VLiteral`](https://docs.bijection.com/api/classes/values.VLiteral)\<`"project"`, `"required"`> ; `input`: [`VString`](https://docs.bijection.com/api/classes/values.VString)\<`string`, `"required"`> ; `fields`: [`VArray`](https://docs.bijection.com/api/classes/values.VArray)\<\{ `name`: `string` ; `from`: `string`  }\[], [`VObject`](https://docs.bijection.com/api/classes/values.VObject)\<\{ `name`: `string` ; `from`: `string`  }, \{ `name`: [`VString`](https://docs.bijection.com/api/classes/values.VString)\<`string`, `"required"`> ; `from`: [`VString`](https://docs.bijection.com/api/classes/values.VString)\<`string`, `"required"`>  }, `"required"`, `"name"` | `"from"`>, `"required"`>  }, `"required"`, `"kind"` | `"id"` | `"fields"` | `"input"`>], `"required"`, `"kind"` | `"name"` | `"id"` | `"join"` | `"keys"` | `"fields"` | `"value"` | `"field"` | `"table"` | `"alias"` | `"left"` | `"right"` | `"at_most_one"` | `"input"` | `"measures"` | `"operator"` | `"comparison"` | `"value.kind"` | `"value.value"` | `"right.kind"` | `"right.value"` | `"right.field"` | `"right.value.kind"` | `"right.value.value"` | `"left_field"` | `"right_field"`>, `"required"`>  }, `"required"`, `"version"` | `"output"` | `"nodes"`>  }, `"required"`, `"graph"` | `"graph.version"` | `"graph.output"` | `"graph.nodes"`>

Parameters are immutable at evaluation admission; they are not a mutable
second program registry. The worker validates the complete graph again.

## Functions

### flink

▸ **flink**(`spec`, `declared`): [`JobHandler`](https://docs.bijection.com/api/modules/programs#jobhandler)\<`"flink"`>

Run a captured Flink project as continuous boundaries on customer Flink.
The function's arguments are the project's sources (each an exact dataset
version: a stream's native archive cut or a snapshot) plus the checkpoint;
its results are the project's sinks plus the checkpoint. One warm session
job keeps the Flink job across boundaries; each boundary restores from the
previous checkpoint, consumes through its cut, and replies with its sink
versions and the new aligned checkpoint, which commit together. With
`delivery: "continuous"` stream sources are not arguments: the job reads
the broker unpaused and each boundary accepts its newest transactional
commit with the cut its checkpoint witnessed.

#### Parameters

| Name | Type |
| :- | :- |
| `spec` | [`FlinkProject`](https://docs.bijection.com/api/modules/sql#flinkproject) |
| `declared` | [`FlinkOptions`](https://docs.bijection.com/api/modules/sql#flinkoptions) |

#### Returns

[`JobHandler`](https://docs.bijection.com/api/modules/programs#jobhandler)\<`"flink"`>

***

### materializeRelations

▸ **materializeRelations**(`spec`, `declared`): [`JobHandler`](https://docs.bijection.com/api/modules/programs#jobhandler)\<`"materialize"`>

Read a captured Materialize project's maintained relations at one
timestamp. Materialize keeps the views incrementally on customer compute;
a boundary does not step its dataflow. It reads every output at the
function's `as_of` cut, retains native Dataset references in place, and replies with the new
frontier checkpoint. A cut behind a relation's read frontier is refused
rather than restarted (`onHistoryGap: "stop"`).

#### Parameters

| Name | Type |
| :- | :- |
| `spec` | [`MaterializeProject`](https://docs.bijection.com/api/modules/sql#materializeproject) |
| `declared` | [`Options`](https://docs.bijection.com/api/modules/series#options) |

#### Returns

[`JobHandler`](https://docs.bijection.com/api/modules/programs#jobhandler)\<`"materialize"`>

***

### materializePage

▸ **materializePage**(`spec`, `member`): `Object`

A bounded page of one accepted native Materialize cut. The input is an
exact Dataset reference; keyset cursors stay on that cut. The customer
runner reduces and limits the query in Materialize before returning at most
128 rows and 16 KiB through the ordinary Compute result.

#### Parameters

| Name | Type |
| :- | :- |
| `spec` | [`MaterializeProject`](https://docs.bijection.com/api/modules/sql#materializeproject) |
| `member` | `string` |

#### Returns

`Object`

| Name | Type |
| :- | :- |
| `args` | \{ `source`: [`VObject`](https://docs.bijection.com/api/classes/values.VObject)\<\{ `reference`: `string` ; `kind`: `"dataset"` ; `owner`: `string` ; `contract`: `string` ; `version`: `string` ; `digest`: `string`  }, \{ `kind`: [`VLiteral`](https://docs.bijection.com/api/classes/values.VLiteral)\<`"dataset"`, `"required"`> ; `owner`: [`VString`](https://docs.bijection.com/api/classes/values.VString)\<`string`, `"required"`> \| [`VLiteral`](https://docs.bijection.com/api/classes/values.VLiteral)\<`string`, `"required"`> ; `reference`: [`VString`](https://docs.bijection.com/api/classes/values.VString)\<`string`, `"required"`> ; `version`: [`VString`](https://docs.bijection.com/api/classes/values.VString)\<`string`, `"required"`> ; `digest`: [`VString`](https://docs.bijection.com/api/classes/values.VString)\<`string`, `"required"`> ; `contract`: [`VLiteral`](https://docs.bijection.com/api/classes/values.VLiteral)\<`string`, `"required"`>  }, `"required"`, `"reference"` \| `"kind"` \| `"owner"` \| `"contract"` \| `"version"` \| `"digest"`> & \{ `type`: [`ResultRef`](https://docs.bijection.com/api/modules/computations#resultref)\<\{}, `"dataset"`>  } ; `cursor`: [`VUnion`](https://docs.bijection.com/api/classes/values.VUnion)\<`null` \| `string`, \[[`VNull`](https://docs.bijection.com/api/classes/values.VNull)\<`null`, `"required"`>, [`VString`](https://docs.bijection.com/api/classes/values.VString)\<`string`, `"required"`>], `"required"`, `never`> ; `limit`: [`VInt64`](https://docs.bijection.com/api/classes/values.VInt64)\<`bigint`, `"required"`>  } |
| `args.source` | [`VObject`](https://docs.bijection.com/api/classes/values.VObject)\<\{ `reference`: `string` ; `kind`: `"dataset"` ; `owner`: `string` ; `contract`: `string` ; `version`: `string` ; `digest`: `string`  }, \{ `kind`: [`VLiteral`](https://docs.bijection.com/api/classes/values.VLiteral)\<`"dataset"`, `"required"`> ; `owner`: [`VString`](https://docs.bijection.com/api/classes/values.VString)\<`string`, `"required"`> \| [`VLiteral`](https://docs.bijection.com/api/classes/values.VLiteral)\<`string`, `"required"`> ; `reference`: [`VString`](https://docs.bijection.com/api/classes/values.VString)\<`string`, `"required"`> ; `version`: [`VString`](https://docs.bijection.com/api/classes/values.VString)\<`string`, `"required"`> ; `digest`: [`VString`](https://docs.bijection.com/api/classes/values.VString)\<`string`, `"required"`> ; `contract`: [`VLiteral`](https://docs.bijection.com/api/classes/values.VLiteral)\<`string`, `"required"`>  }, `"required"`, `"reference"` \| `"kind"` \| `"owner"` \| `"contract"` \| `"version"` \| `"digest"`> & \{ `type`: [`ResultRef`](https://docs.bijection.com/api/modules/computations#resultref)\<\{}, `"dataset"`>  } |
| `args.cursor` | [`VUnion`](https://docs.bijection.com/api/classes/values.VUnion)\<`null` \| `string`, \[[`VNull`](https://docs.bijection.com/api/classes/values.VNull)\<`null`, `"required"`>, [`VString`](https://docs.bijection.com/api/classes/values.VString)\<`string`, `"required"`>], `"required"`, `never`> |
| `args.limit` | [`VInt64`](https://docs.bijection.com/api/classes/values.VInt64)\<`bigint`, `"required"`> |
| `returns` | [`VObject`](https://docs.bijection.com/api/classes/values.VObject)\<\{ `cursor`: `null` \| `string` ; `rows`: \{ \[x: string]: string \| number \| bigint \| boolean; \[x: number]: string \| number \| bigint \| boolean; }\[]  }, \{ `rows`: [`VArray`](https://docs.bijection.com/api/classes/values.VArray)\<\{}\[], [`VObject`](https://docs.bijection.com/api/classes/values.VObject)\<\{}, \{ `[k: string]`: `T`;  }, `"required"`, `string`>, `"required"`> ; `cursor`: [`VUnion`](https://docs.bijection.com/api/classes/values.VUnion)\<`null` \| `string`, \[[`VNull`](https://docs.bijection.com/api/classes/values.VNull)\<`null`, `"required"`>, [`VString`](https://docs.bijection.com/api/classes/values.VString)\<`string`, `"required"`>], `"required"`, `never`>  }, `"required"`, `"cursor"` \| `"rows"`> |
| `handler` | [`JobHandler`](https://docs.bijection.com/api/modules/programs#jobhandler)\<`"materialize"`> |

***

### relational

▸ **relational**\<`Fields`, `Expr`>(`definition`): \<Model, Schema>(`ctx`: [`BijectionQueryCtx`](https://docs.bijection.com/api/interfaces/server.BijectionQueryCtx)\<`Model`, `Schema`>, `args`: [`ArgsArrayToObject`](https://docs.bijection.com/api/modules/server#argsarraytoobject)\<[`DefaultArgsForOptionalValidator`](https://docs.bijection.com/api/modules/server#defaultargsforoptionalvalidator)\<`Fields`>>) => `Promise`\<[`ResultRow`](https://docs.bijection.com/api/modules/sources#resultrow)\<`Expr`>\[]>

Reuse a captured relation as an ordinary transactional query handler.
Native reads retain their dependency tracking, policies and work bounds.
Analytical or external work belongs in an action adapter.

#### Type parameters

| Name | Type |
| :- | :- |
| `Fields` | extends [`PropertyValidators`](https://docs.bijection.com/api/modules/values#propertyvalidators) |
| `Expr` | `Expr` |

#### Parameters

| Name | Type |
| :- | :- |
| `definition` | [`RelationDefinition`](https://docs.bijection.com/api/modules/server#relationdefinition)\<`Fields`, `Expr`> |

#### Returns

`fn`

▸ \<`Model`, `Schema`>(`ctx`, `args`): `Promise`\<[`ResultRow`](https://docs.bijection.com/api/modules/sources#resultrow)\<`Expr`>\[]>

##### Type parameters

| Name | Type |
| :- | :- |
| `Model` | extends [`GenericDataModel`](https://docs.bijection.com/api/modules/server#genericdatamodel) |
| `Schema` | extends [`GenericSchema`](https://docs.bijection.com/api/modules/server#genericschema) |

##### Parameters

| Name | Type |
| :- | :- |
| `ctx` | [`BijectionQueryCtx`](https://docs.bijection.com/api/interfaces/server.BijectionQueryCtx)\<`Model`, `Schema`> |
| `args` | [`ArgsArrayToObject`](https://docs.bijection.com/api/modules/server#argsarraytoobject)\<[`DefaultArgsForOptionalValidator`](https://docs.bijection.com/api/modules/server#defaultargsforoptionalvalidator)\<`Fields`>> |

##### Returns

`Promise`\<[`ResultRow`](https://docs.bijection.com/api/modules/sources#resultrow)\<`Expr`>\[]>

***

### relationalPlan

▸ **relationalPlan**\<`Args`>(`args`, `build`, `options?`): [`RelationalHandler`](https://docs.bijection.com/api/modules/sql#relationalhandler)

Capture a relational plan as the action's implementation. Pass the
action's own `args` object: dataset arguments become relation inputs and
the rest become scalar plan arguments. `build` returns one relation for a
`dataset(row)` return, or an object of relations for an object of datasets.
Verification belongs to the function's store (`functionResources(\{ verify
\})`), placement to Compute's execution target.

#### Type parameters

| Name | Type |
| :- | :- |
| `Args` | extends [`PropertyValidators`](https://docs.bijection.com/api/modules/values#propertyvalidators) |

#### Parameters

| Name | Type |
| :- | :- |
| `args` | `Args` |
| `build` | (`inputs`: [`RelationalInputs`](https://docs.bijection.com/api/modules/sql#relationalinputs)\<`Args`>) => `unknown` |
| `options` | [`RelationalPlanOptions`](https://docs.bijection.com/api/modules/sql#relationalplanoptions) |

#### Returns

[`RelationalHandler`](https://docs.bijection.com/api/modules/sql#relationalhandler)

***

### analyzeRelation

▸ **analyzeRelation**(`relation`, `inputContracts`, `argumentContracts?`): [`RelationalPlan`](https://docs.bijection.com/api/modules/sql#relationalplan-2)

Semantic analysis is independent of placement, encodings and SQL rendering.

#### Parameters

| Name | Type |
| :- | :- |
| `relation` | [`Relation`](https://docs.bijection.com/api/classes/sql.Relation)\<`any`> \| [`RelationExpression`](https://docs.bijection.com/api/modules/server#relationexpression) |
| `inputContracts` | [`TransformationSchemas`](https://docs.bijection.com/api/modules/sql#transformationschemas) |
| `argumentContracts` | `Record`\<`string`, [`RelationalArgument`](https://docs.bijection.com/api/modules/sql#relationalargument)> |

#### Returns

[`RelationalPlan`](https://docs.bijection.com/api/modules/sql#relationalplan-2)

***

### validateRelationalPlan

▸ **validateRelationalPlan**(`plan`, `schemas?`): [`RelationalPlan`](https://docs.bijection.com/api/modules/sql#relationalplan-2)

Serialized plans are untrusted. Reconstruct all inferred metadata.

#### Parameters

| Name | Type |
| :- | :- |
| `plan` | [`RelationalPlan`](https://docs.bijection.com/api/modules/sql#relationalplan-2) |
| `schemas?` | [`TransformationSchemas`](https://docs.bijection.com/api/modules/sql#transformationschemas) |

#### Returns

[`RelationalPlan`](https://docs.bijection.com/api/modules/sql#relationalplan-2)

***

### relationalSQLLoweringCapabilities

▸ **relationalSQLLoweringCapabilities**(`dialect`): `string`\[]

Static implementation support; installation and input qualification are separate.

#### Parameters

| Name | Type |
| :- | :- |
| `dialect` | [`TransformationDialect`](https://docs.bijection.com/api/modules/sql#transformationdialect) |

#### Returns

`string`\[]

***

### relationalSQLRequirements

▸ **relationalSQLRequirements**(`plan`, `dialect`): \{ `node`: `string` ; `operation`: `string` ; `kernel`: `null` | `Readonly`\<\{ `kind`: `"collection"` | `"occurrence"` | `"scalar"` | `"geometry"` | `"numeric"` | `"spatial"` | `"geometry_union"` | `"lambda_binding"` | `"regex"` | `"java_regex"` ; `id`: `string` ; `program`: `string`  }> ; `operands`: [`ScalarType`](https://docs.bijection.com/api/modules/sql#scalartype)\[] ; `result`: [`ScalarType`](https://docs.bijection.com/api/modules/sql#scalartype)\[] ; `mode`: `"full"` ; `refusal`: `null` | \{ `requirement`: `string` ; `reason`: `string`  }  }\[]

Operation-level support over the authoritative IR, before physical binding.
Families describe vocabulary; these entries describe the concrete operations,
domains and semantic data needed by this program on one adapter.

#### Parameters

| Name | Type |
| :- | :- |
| `plan` | [`RelationalPlan`](https://docs.bijection.com/api/modules/sql#relationalplan-2) |
| `dialect` | [`TransformationDialect`](https://docs.bijection.com/api/modules/sql#transformationdialect) |

#### Returns

\{ `node`: `string` ; `operation`: `string` ; `kernel`: `null` | `Readonly`\<\{ `kind`: `"collection"` | `"occurrence"` | `"scalar"` | `"geometry"` | `"numeric"` | `"spatial"` | `"geometry_union"` | `"lambda_binding"` | `"regex"` | `"java_regex"` ; `id`: `string` ; `program`: `string`  }> ; `operands`: [`ScalarType`](https://docs.bijection.com/api/modules/sql#scalartype)\[] ; `result`: [`ScalarType`](https://docs.bijection.com/api/modules/sql#scalartype)\[] ; `mode`: `"full"` ; `refusal`: `null` | \{ `requirement`: `string` ; `reason`: `string`  }  }\[]

***

### compileRelationalSQL

▸ **compileRelationalSQL**(`plan`, `dialect`, `reads`, `sourceNodes?`, `parameters?`): [`TransformationSQL`](https://docs.bijection.com/api/modules/sql#transformationsql)

TypeScript and editor definitions both lower through this implementation.

#### Parameters

| Name | Type |
| :- | :- |
| `plan` | [`RelationalPlan`](https://docs.bijection.com/api/modules/sql#relationalplan-2) |
| `dialect` | [`TransformationDialect`](https://docs.bijection.com/api/modules/sql#transformationdialect) |
| `reads` | [`SQLReadContext`](https://docs.bijection.com/api/modules/sql#sqlreadcontext) |
| `sourceNodes` | `ReadonlyMap`\<`string`, `string`> |
| `parameters?` | `Record`\<`string`, [`Value`](https://docs.bijection.com/api/modules/values#value) \| `undefined`> |

#### Returns

[`TransformationSQL`](https://docs.bijection.com/api/modules/sql#transformationsql)

***

### inspectRelationalSQL

▸ **inspectRelationalSQL**(`plan`, `dialect`, `reads?`, `parameters?`): [`SQLPlacementInspection`](https://docs.bijection.com/api/modules/sql#sqlplacementinspection)

Uses the exact lowerer, including obligation coverage. Symbolic inspection
neither grants a read nor exposes a program that can be executed.

#### Parameters

| Name | Type |
| :- | :- |
| `plan` | [`RelationalPlan`](https://docs.bijection.com/api/modules/sql#relationalplan-2) |
| `dialect` | [`TransformationDialect`](https://docs.bijection.com/api/modules/sql#transformationdialect) |
| `reads?` | [`SQLReadContext`](https://docs.bijection.com/api/modules/sql#sqlreadcontext) |
| `parameters?` | `Record`\<`string`, [`Value`](https://docs.bijection.com/api/modules/values#value) \| `undefined`> |

#### Returns

[`SQLPlacementInspection`](https://docs.bijection.com/api/modules/sql#sqlplacementinspection)

***

### relationalSQLRuntimeProfiles

▸ **relationalSQLRuntimeProfiles**(`plan`, `dialect`): (`Readonly`\<\{ `id`: `"spark.lambda_bindings"` = "spark.lambda\_bindings"; `revision`: `"912ce5f6324cdf3d2feff04b7a07795d586c9d21bf76994286d647583ef8df70"` = "912ce5f6324cdf3d2feff04b7a07795d586c9d21bf76994286d647583ef8df70" }> | `Readonly`\<\{ `id`: `"spark.regex"` = "spark.regex"; `revision`: `"1b00f55bd56478878dfed12a89b06b03f1ccf6d5fdd51d1248db2e2dabc4621a"` = "1b00f55bd56478878dfed12a89b06b03f1ccf6d5fdd51d1248db2e2dabc4621a" }> | `Readonly`\<\{ `id`: `"spark.java_regex"` = "spark.java\_regex"; `revision`: `"6c7ca434d25560ec251042b90afc156480563cfebf0006a30552942a078ebf3b"` = "6c7ca434d25560ec251042b90afc156480563cfebf0006a30552942a078ebf3b" }> | `Readonly`\<\{ `id`: `"spark.format_string"` = "spark.format\_string"; `revision`: `"1cc11f8904d641fb1500fbae1250654a31b1d91598ed05132d51a76670764eb8"` = "1cc11f8904d641fb1500fbae1250654a31b1d91598ed05132d51a76670764eb8" }> | `Readonly`\<\{ `id`: `"spark.json"` = "spark.json"; `revision`: `"e41a3ce7d670e6489c9d1d66dcb845fad1a8931427217fa624d299b2baa5da69"` = "e41a3ce7d670e6489c9d1d66dcb845fad1a8931427217fa624d299b2baa5da69" }> | `Readonly`\<\{ `id`: `"spark.observed_percentile"` = "spark.observed\_percentile"; `revision`: `"9eaf5cad18e98cf3bb28ae8360e36e60c0f20070502a5b09fd7fde56a376b08d"` = "9eaf5cad18e98cf3bb28ae8360e36e60c0f20070502a5b09fd7fde56a376b08d" }> | `Readonly`\<\{ `id`: `"spark.statistics"` = "spark.statistics"; `revision`: `"08eccf7ee30de1320a4eb2b8be0d9a92e2498a0e20607b0ebe1671be6aea5bcb"` = "08eccf7ee30de1320a4eb2b8be0d9a92e2498a0e20607b0ebe1671be6aea5bcb" }> | `Readonly`\<\{ `id`: `"spark.binary64"` = "spark.binary64"; `revision`: `"aa592453d374ef7ecd6d5a5d94e2ad865eb79d7fa5b3ba25dd40f6160103686c"` = "aa592453d374ef7ecd6d5a5d94e2ad865eb79d7fa5b3ba25dd40f6160103686c" }>)\[]

Required external kernels are part of checked execution admission.

#### Parameters

| Name | Type |
| :- | :- |
| `plan` | [`RelationalPlan`](https://docs.bijection.com/api/modules/sql#relationalplan-2) |
| `dialect` | [`TransformationDialect`](https://docs.bijection.com/api/modules/sql#transformationdialect) |

#### Returns

(`Readonly`\<\{ `id`: `"spark.lambda_bindings"` = "spark.lambda\_bindings"; `revision`: `"912ce5f6324cdf3d2feff04b7a07795d586c9d21bf76994286d647583ef8df70"` = "912ce5f6324cdf3d2feff04b7a07795d586c9d21bf76994286d647583ef8df70" }> | `Readonly`\<\{ `id`: `"spark.regex"` = "spark.regex"; `revision`: `"1b00f55bd56478878dfed12a89b06b03f1ccf6d5fdd51d1248db2e2dabc4621a"` = "1b00f55bd56478878dfed12a89b06b03f1ccf6d5fdd51d1248db2e2dabc4621a" }> | `Readonly`\<\{ `id`: `"spark.java_regex"` = "spark.java\_regex"; `revision`: `"6c7ca434d25560ec251042b90afc156480563cfebf0006a30552942a078ebf3b"` = "6c7ca434d25560ec251042b90afc156480563cfebf0006a30552942a078ebf3b" }> | `Readonly`\<\{ `id`: `"spark.format_string"` = "spark.format\_string"; `revision`: `"1cc11f8904d641fb1500fbae1250654a31b1d91598ed05132d51a76670764eb8"` = "1cc11f8904d641fb1500fbae1250654a31b1d91598ed05132d51a76670764eb8" }> | `Readonly`\<\{ `id`: `"spark.json"` = "spark.json"; `revision`: `"e41a3ce7d670e6489c9d1d66dcb845fad1a8931427217fa624d299b2baa5da69"` = "e41a3ce7d670e6489c9d1d66dcb845fad1a8931427217fa624d299b2baa5da69" }> | `Readonly`\<\{ `id`: `"spark.observed_percentile"` = "spark.observed\_percentile"; `revision`: `"9eaf5cad18e98cf3bb28ae8360e36e60c0f20070502a5b09fd7fde56a376b08d"` = "9eaf5cad18e98cf3bb28ae8360e36e60c0f20070502a5b09fd7fde56a376b08d" }> | `Readonly`\<\{ `id`: `"spark.statistics"` = "spark.statistics"; `revision`: `"08eccf7ee30de1320a4eb2b8be0d9a92e2498a0e20607b0ebe1671be6aea5bcb"` = "08eccf7ee30de1320a4eb2b8be0d9a92e2498a0e20607b0ebe1671be6aea5bcb" }> | `Readonly`\<\{ `id`: `"spark.binary64"` = "spark.binary64"; `revision`: `"aa592453d374ef7ecd6d5a5d94e2ad865eb79d7fa5b3ba25dd40f6160103686c"` = "aa592453d374ef7ecd6d5a5d94e2ad865eb79d7fa5b3ba25dd40f6160103686c" }>)\[]

***

### compileRelation

▸ **compileRelation**\<`T`>(`options`): [`CompiledRelation`](https://docs.bijection.com/api/modules/sql#compiledrelation)\<`T`>

#### Type parameters

| Name |
| :- |
| `T` |

#### Parameters

| Name | Type |
| :- | :- |
| `options` | `Object` |
| `options.relation` | [`Relation`](https://docs.bijection.com/api/classes/sql.Relation)\<`T`> |
| `options.inputs` | `Readonly`\<`Record`\<`string`, `string`>> |
| `options.limits?` | [`RetainedRelationWorkLimits`](https://docs.bijection.com/api/modules/sql#retainedrelationworklimits) |
| `options.schemas` | [`TransformationSchemas`](https://docs.bijection.com/api/modules/sql#transformationschemas) |
| `options.arguments?` | `Record`\<`string`, [`RelationalArgument`](https://docs.bijection.com/api/modules/sql#relationalargument)> |

#### Returns

[`CompiledRelation`](https://docs.bijection.com/api/modules/sql#compiledrelation)\<`T`>

***

### sqlFrameworkProject

▸ **sqlFrameworkProject**\<`Kind`, `Spec`>(`kind`, `specification`): [`SqlProject`](https://docs.bijection.com/api/modules/sql#sqlproject)\<`Kind`, `Spec`>

#### Type parameters

| Name | Type |
| :- | :- |
| `Kind` | extends `"sqlmesh"` \| `"dataform"` |
| `Spec` | extends [`SqlProjectSpecification`](https://docs.bijection.com/api/modules/sql#sqlprojectspecification) |

#### Parameters

| Name | Type |
| :- | :- |
| `kind` | `Kind` |
| `specification` | `Spec` |

#### Returns

[`SqlProject`](https://docs.bijection.com/api/modules/sql#sqlproject)\<`Kind`, `Spec`>

***

### dbt

▸ **dbt**\<`Project`>(`project`, `binding`): [`JobHandler`](https://docs.bijection.com/api/modules/programs#jobhandler)\<`"dbt"`>

Run the function as a captured dbt project.

#### Type parameters

| Name | Type |
| :- | :- |
| `Project` | extends [`DbtProject`](https://docs.bijection.com/api/modules/sql#dbtproject)\<[`DbtSpecification`](https://docs.bijection.com/api/modules/sql#dbtspecification)> |

#### Parameters

| Name | Type |
| :- | :- |
| `project` | `Project` |
| `binding` | [`SqlFrameworkBinding`](https://docs.bijection.com/api/modules/sql#sqlframeworkbinding)\<`Project`> |

#### Returns

[`JobHandler`](https://docs.bijection.com/api/modules/programs#jobhandler)\<`"dbt"`>

***

### sqlmesh

▸ **sqlmesh**\<`Project`>(`project`, `binding`): [`JobHandler`](https://docs.bijection.com/api/modules/programs#jobhandler)\<`"sqlmesh"`>

Run the function as a captured SQLMesh project.

#### Type parameters

| Name | Type |
| :- | :- |
| `Project` | extends [`SqlProject`](https://docs.bijection.com/api/modules/sql#sqlproject)\<`"sqlmesh"`, [`SqlProjectSpecification`](https://docs.bijection.com/api/modules/sql#sqlprojectspecification)> |

#### Parameters

| Name | Type |
| :- | :- |
| `project` | `Project` |
| `binding` | [`SqlFrameworkBinding`](https://docs.bijection.com/api/modules/sql#sqlframeworkbinding)\<`Project`> |

#### Returns

[`JobHandler`](https://docs.bijection.com/api/modules/programs#jobhandler)\<`"sqlmesh"`>

***

### dataform

▸ **dataform**\<`Project`>(`project`, `binding`): [`JobHandler`](https://docs.bijection.com/api/modules/programs#jobhandler)\<`"dataform"`>

Run the function as a captured Dataform project on BigQuery.

#### Type parameters

| Name | Type |
| :- | :- |
| `Project` | extends [`SqlProject`](https://docs.bijection.com/api/modules/sql#sqlproject)\<`"dataform"`, [`SqlProjectSpecification`](https://docs.bijection.com/api/modules/sql#sqlprojectspecification)> |

#### Parameters

| Name | Type |
| :- | :- |
| `project` | `Project` |
| `binding` | [`SqlFrameworkBinding`](https://docs.bijection.com/api/modules/sql#sqlframeworkbinding)\<`Project`> |

#### Returns

[`JobHandler`](https://docs.bijection.com/api/modules/programs#jobhandler)\<`"dataform"`>

***

### decodeSQLParameterValues

▸ **decodeSQLParameterValues**(`text`): `Record`\<`string`, [`Value`](https://docs.bijection.com/api/modules/values#value)>

Decode analytical parameters after the ordinary function boundary. A wire
string keeps large arrays out of inherited native record/array carriers.

#### Parameters

| Name | Type |
| :- | :- |
| `text` | `string` |

#### Returns

`Record`\<`string`, [`Value`](https://docs.bijection.com/api/modules/values#value)>

***

### describeSQLProgram

▸ **describeSQLProgram**(`sql`, `program`, `argsValidator?`): `Promise`\<\{ `program_json`: `string` = programJSON; `expected_inputs_digest`: `string` ; `validator_json`: `string` ; `columns`: \{ `key`: `string` ; `name`: `string` ; `type`: [`ValidatorJSON`](https://docs.bijection.com/api/modules/values#validatorjson) = field.fieldType; `optional`: `boolean` = field.optional; `logical_type`: `unknown` = logical.value\_type }\[] ; `compiler_revision`: `string` ; `source_map`: `any` = schema.source\_map; `semantic_profile`: `any` = schema.semantic\_profile; `operation_requirements`: `any` = schema.operation\_requirements }>

#### Parameters

| Name | Type |
| :- | :- |
| `sql` | `string` |
| `program` | `Pick`\<[`RelationalProgram`](https://docs.bijection.com/api/classes/sql.RelationalProgram), `"program"`> |
| `argsValidator` | [`ValidatorJSON`](https://docs.bijection.com/api/modules/values#validatorjson) |

#### Returns

`Promise`\<\{ `program_json`: `string` = programJSON; `expected_inputs_digest`: `string` ; `validator_json`: `string` ; `columns`: \{ `key`: `string` ; `name`: `string` ; `type`: [`ValidatorJSON`](https://docs.bijection.com/api/modules/values#validatorjson) = field.fieldType; `optional`: `boolean` = field.optional; `logical_type`: `unknown` = logical.value\_type }\[] ; `compiler_revision`: `string` ; `source_map`: `any` = schema.source\_map; `semantic_profile`: `any` = schema.semantic\_profile; `operation_requirements`: `any` = schema.operation\_requirements }>

***

### bindSQLProgramParameters

▸ **bindSQLProgramParameters**(`sql`, `program`, `types`, `values`): `Promise`\<\{ `program_json`: `string` = programJSON; `expected_inputs_digest`: `string` ; `validator_json`: `string` ; `columns`: \{ `key`: `string` ; `name`: `string` ; `type`: [`ValidatorJSON`](https://docs.bijection.com/api/modules/values#validatorjson) = field.fieldType; `optional`: `boolean` = field.optional; `logical_type`: `unknown` = logical.value\_type }\[] ; `compiler_revision`: `string` ; `source_map`: `any` = schema.source\_map; `semantic_profile`: `any` = schema.semantic\_profile; `operation_requirements`: `any` = schema.operation\_requirements }>

Close negotiated parameters before native description and admission.

#### Parameters

| Name | Type |
| :- | :- |
| `sql` | `string` |
| `program` | [`RelationalProgram`](https://docs.bijection.com/api/classes/sql.RelationalProgram)\[`"program"`] |
| `types` | `Record`\<`string`, [`WireShape`](https://docs.bijection.com/api/modules/apps#wireshape)> |
| `values` | `Record`\<`string`, [`Value`](https://docs.bijection.com/api/modules/values#value)> |

#### Returns

`Promise`\<\{ `program_json`: `string` = programJSON; `expected_inputs_digest`: `string` ; `validator_json`: `string` ; `columns`: \{ `key`: `string` ; `name`: `string` ; `type`: [`ValidatorJSON`](https://docs.bijection.com/api/modules/values#validatorjson) = field.fieldType; `optional`: `boolean` = field.optional; `logical_type`: `unknown` = logical.value\_type }\[] ; `compiler_revision`: `string` ; `source_map`: `any` = schema.source\_map; `semantic_profile`: `any` = schema.semantic\_profile; `operation_requirements`: `any` = schema.operation\_requirements }>

***

### validateSQLReadContext

▸ **validateSQLReadContext**(`dialect`, `context`, `contracts`, `now_at?`): `void`

#### Parameters

| Name | Type |
| :- | :- |
| `dialect` | [`TransformationDialect`](https://docs.bijection.com/api/modules/sql#transformationdialect) |
| `context` | [`SQLReadContext`](https://docs.bijection.com/api/modules/sql#sqlreadcontext) |
| `contracts` | `Readonly`\<`Record`\<`string`, readonly [`TransformationColumn`](https://docs.bijection.com/api/modules/sql#transformationcolumn)\[]>> |
| `now_at` | `string` |

#### Returns

`void`

***

### renderRelationalSQL

▸ **renderRelationalSQL**(`program`, `query?`): `string`

Render only the definition closure needed by this statement.

#### Parameters

| Name | Type | Default value |
| :- | :- | :- |
| `program` | [`TransformationSQL`](https://docs.bijection.com/api/modules/sql#transformationsql) | `undefined` |
| `query` | [`SQLQuery`](https://docs.bijection.com/api/modules/sql#sqlquery) | `program.query` |

#### Returns

`string`

***

### sqlContext

▸ **sqlContext**(`context?`): [`CapturedSQLContext`](https://docs.bijection.com/api/modules/sql#capturedsqlcontext)

Normalize SQL defaults before authoring, session admission or preparation.

#### Parameters

| Name | Type |
| :- | :- |
| `context` | [`SQLContext`](https://docs.bijection.com/api/modules/sql#sqlcontext) |

#### Returns

[`CapturedSQLContext`](https://docs.bijection.com/api/modules/sql#capturedsqlcontext)

***

### sqlRelation

▸ **sqlRelation**\<`Inputs`, `Parameters`, `Returns`>(`definition`): [`Relation`](https://docs.bijection.com/api/classes/sql.Relation)\<[`SQLRelationType`](https://docs.bijection.com/api/modules/sql#sqlrelationtype)\<`Inputs`, `Parameters`, `Returns`>>

Author a read-only SQL relation. Inputs are ordinary relations and named
`:parameters` are bounded values or lexical declaration arguments. SQL cannot
discover tables, load functions, run scripts or invoke an external engine.

The shared native/WASM frontend checks syntax at capture. Admission binds
column names against input contracts and expands SQL into ordinary relational
operators before planning. Wildcards require closed schemas. Unquoted names
fold to lowercase; double-quoted names are exact. SQL collapses missing cells
to NULL and uses three-valued predicates. Integers and decimals stay exact.

`returns` supplies TypeScript inference and an output contract checked during
analysis; it cannot override the analyzed types. Placement and access checks
are the same as for the equivalent SDK-authored relation.

#### Type parameters

| Name | Type |
| :- | :- |
| `Inputs` | extends `Record`\<`string`, [`Relation`](https://docs.bijection.com/api/classes/sql.Relation)\<`any`>> |
| `Parameters` | extends `Record`\<`string`, [`Parameter`](https://docs.bijection.com/api/modules/sql#parameter)> = `Record`\<`never`, `never`> |
| `Returns` | extends [`GenericValidator`](https://docs.bijection.com/api/modules/values#genericvalidator) \| `undefined` = `undefined` |

#### Parameters

| Name | Type |
| :- | :- |
| `definition` | `Object` |
| `definition.sql` | `string` |
| `definition.sourceFile?` | `string` |
| `definition.context?` | [`SQLContext`](https://docs.bijection.com/api/modules/sql#sqlcontext) |
| `definition.pivots?` | [`SQLPivotValues`](https://docs.bijection.com/api/modules/sql#sqlpivotvalues) |
| `definition.inputs` | `Inputs` |
| `definition.parameters?` | `Parameters` |
| `definition.returns?` | `Returns` |

#### Returns

[`Relation`](https://docs.bijection.com/api/classes/sql.Relation)\<[`SQLRelationType`](https://docs.bijection.com/api/modules/sql#sqlrelationtype)\<`Inputs`, `Parameters`, `Returns`>>

***

### sqlBuildSyntax

▸ **sqlBuildSyntax**(`sql`, `columns?`, `defaults?`): [`SQLBuildSyntax`](https://docs.bijection.com/api/modules/sql#sqlbuildsyntax)

Parse a dataset transformation without executing it or reading a catalog.
Schema-only CREATE becomes an empty typed candidate. INSERT column lists
assign values by position and use the declared target order; omitted values
use declared constant defaults or typed NULLs. UPDATE and DELETE use declared
columns, never sampled rows.
The dataset's existing output contract and publication owner enforce writes.

#### Parameters

| Name | Type | Default value |
| :- | :- | :- |
| `sql` | `string` | `undefined` |
| `columns` | readonly `string`\[] | `[]` |
| `defaults` | `Readonly`\<`Record`\<`string`, `string`>> | `{}` |

#### Returns

[`SQLBuildSyntax`](https://docs.bijection.com/api/modules/sql#sqlbuildsyntax)

***

### sqlTransactionSyntax

▸ **sqlTransactionSyntax**(`sql`, `targets`, `defaults?`): `Readonly`\<\{ `revision`: `string` ; `statements`: readonly [`SQLBuildSyntax`](https://docs.bijection.com/api/modules/sql#sqlbuildsyntax)\[]  }>

Compile one atomic dataset transaction. Each write is still an inert read
plan; the dataset owner supplies the single publication boundary.

#### Parameters

| Name | Type |
| :- | :- |
| `sql` | `string` |
| `targets` | `Readonly`\<`Record`\<`string`, readonly `string`\[]>> |
| `defaults` | `Readonly`\<`Record`\<`string`, `Readonly`\<`Record`\<`string`, `string`>>>> |

#### Returns

`Readonly`\<\{ `revision`: `string` ; `statements`: readonly [`SQLBuildSyntax`](https://docs.bijection.com/api/modules/sql#sqlbuildsyntax)\[]  }>

***

### sqlPivotSyntax

▸ **sqlPivotSyntax**(`sql`, `pivots?`): `Object`

Describe the next discovery round without reading a Dataset. Pass the
resulting frozen values to sqlRelation; execution asserts the complete value
population still agrees.

#### Parameters

| Name | Type |
| :- | :- |
| `sql` | `string` |
| `pivots` | [`SQLPivotValues`](https://docs.bijection.com/api/modules/sql#sqlpivotvalues) |

#### Returns

`Object`

| Name | Type |
| :- | :- |
| `complete` | `boolean` |
| `sql` | `string` |
| `discoveries` | \{ `id`: `string` ; `sql`: `string` ; `limit`: `number`  }\[] |

***

### sqlRelationSyntax

▸ **sqlRelationSyntax**(`sql`): `Object`

#### Parameters

| Name | Type |
| :- | :- |
| `sql` | `string` |

#### Returns

`Object`

| Name | Type |
| :- | :- |
| `revision` | `string` |
| `inputs` | `string`\[] |
| `parameters` | `string`\[] |
| `table_parameters?` | `Record`\<`string`, \{ `collection`: `string`  }> |
| `metadata_filters?` | `Record`\<`string`, `Record`\<`string`, [`JSONValue`](https://docs.bijection.com/api/modules/values#jsonvalue)>> |
| `functions` | \{ `name`: `string` ; `canonical_name`: `string` ; `kind`: `"scalar"` \| `"aggregate"` \| `"window"` \| `"table"` \| `"generator"` ; `signature`: `string` ; `evaluation`: `"pure"` \| `"captured_context"` \| `"occurrence_dependent"` \| `"exact_bounded_fallback"` \| `"explicit_evidence"` \| `"exact_bounded_fallback_or_explicit_evidence"` ; `overloads`: \{ `minimum_arguments`: `number` ; `maximum_arguments`: `number` ; `argument_step`: `number` ; `parameters`: \{ `index`: `number` ; `name`: `string` ; `domain`: `string` ; `constant_per_request`: `boolean`  }\[] ; `contexts`: (`"scalar"` \| `"group"` \| `"grouping"` \| `"window"` \| `"table"` \| `"select_generator"`)\[] ; `evaluation`: `"pure"` \| `"captured_context"` \| `"occurrence_dependent"` \| `"exact_bounded_fallback"` \| `"explicit_evidence"` ; `type_rules`: `"shared_semantic_binding"`  }\[]  }\[] |
| `features` | \{ `semantic_profile`: `string` ; `verification`: \{ `kind`: `string` ; `reason`: `string`  } ; `features`: \{ `id`: `string` ; `contract`: `string` ; `native`: `string` ; `external`: `string` ; `availability`: `string`  }\[]  } |
| `features.semantic_profile` | `string` |
| `features.verification` | \{ `kind`: `string` ; `reason`: `string`  } |
| `features.verification.kind` | `string` |
| `features.verification.reason` | `string` |
| `features.features` | \{ `id`: `string` ; `contract`: `string` ; `native`: `string` ; `external`: `string` ; `availability`: `string`  }\[] |
| `limits` | \{ `bytes`: `number` ; `tokens`: `number` ; `depth`: `number` ; `nodes`: `number` ; `fields`: `number` ; `inputs`: `number`  } |
| `limits.bytes` | `number` |
| `limits.tokens` | `number` |
| `limits.depth` | `number` |
| `limits.nodes` | `number` |
| `limits.fields` | `number` |
| `limits.inputs` | `number` |

***

### sqlWireValidator

▸ **sqlWireValidator**(`shape`): [`ValidatorJSON`](https://docs.bijection.com/api/modules/values#validatorjson)

#### Parameters

| Name | Type |
| :- | :- |
| `shape` | [`WireShape`](https://docs.bijection.com/api/modules/apps#wireshape) |

#### Returns

[`ValidatorJSON`](https://docs.bijection.com/api/modules/values#validatorjson)

***

### compileTransformation

▸ **compileTransformation**(`graph`, `schemas`): [`Compiled`](https://docs.bijection.com/api/modules/sql#compiled) & \{ `sourceNodes`: `ReadonlyMap`\<[`RelationExpression`](https://docs.bijection.com/api/modules/server#relationexpression), `string`>  }

Validate every reachable node, infer its schema, then lower to the same q
expression used by native views. No sample rows or engine credentials enter it.

#### Parameters

| Name | Type |
| :- | :- |
| `graph` | [`TransformationGraph`](https://docs.bijection.com/api/modules/sql#transformationgraph) |
| `schemas` | [`TransformationSchemas`](https://docs.bijection.com/api/modules/sql#transformationschemas) |

#### Returns

[`Compiled`](https://docs.bijection.com/api/modules/sql#compiled) & \{ `sourceNodes`: `ReadonlyMap`\<[`RelationExpression`](https://docs.bijection.com/api/modules/server#relationexpression), `string`>  }

***

### validateTransformationOutput

▸ **validateTransformationOutput**(`actual`, `expected`): `void`

A fixed output dataset cannot silently change its contract on deployment.

#### Parameters

| Name | Type |
| :- | :- |
| `actual` | readonly [`TransformationColumn`](https://docs.bijection.com/api/modules/sql#transformationcolumn)\[] |
| `expected` | readonly [`TransformationColumn`](https://docs.bijection.com/api/modules/sql#transformationcolumn)\[] |

#### Returns

`void`

***

### compileTransformationSQL

▸ **compileTransformationSQL**(`graph`, `schemas`, `dialect`, `reads`): [`TransformationSQL`](https://docs.bijection.com/api/modules/sql#transformationsql)

Editor graphs normalize to the canonical relation algebra before SQL lowering.

#### Parameters

| Name | Type |
| :- | :- |
| `graph` | [`TransformationGraph`](https://docs.bijection.com/api/modules/sql#transformationgraph) |
| `schemas` | [`TransformationSchemas`](https://docs.bijection.com/api/modules/sql#transformationschemas) |
| `dialect` | [`TransformationDialect`](https://docs.bijection.com/api/modules/sql#transformationdialect) |
| `reads` | [`SQLReadContext`](https://docs.bijection.com/api/modules/sql#sqlreadcontext) |

#### Returns

[`TransformationSQL`](https://docs.bijection.com/api/modules/sql#transformationsql)

***

### notMaintainedReason

▸ **notMaintainedReason**(`...args`): `ReturnType`\<typeof `wire.notMaintainedReason`>

#### Parameters

| Name | Type |
| :- | :- |
| `...args` | \[reason: ViewPlanNotMaintained] |

#### Returns

`ReturnType`\<typeof `wire.notMaintainedReason`>

***

### lookupStrategyLabel

▸ **lookupStrategyLabel**(`...args`): `ReturnType`\<typeof `wire.lookupStrategyLabel`>

#### Parameters

| Name | Type |
| :- | :- |
| `...args` | \[lookup: ViewPlanLookup] |

#### Returns

`ReturnType`\<typeof `wire.lookupStrategyLabel`>

***

### indexStrategyLabel

▸ **indexStrategyLabel**(`...args`): `ReturnType`\<typeof `wire.indexStrategyLabel`>

#### Parameters

| Name | Type |
| :- | :- |
| `...args` | \[plan: ViewPlanExplanation, index: ViewPlanIndex] |

#### Returns

`ReturnType`\<typeof `wire.indexStrategyLabel`>

***

### refusalReason

▸ **refusalReason**(`...args`): `ReturnType`\<typeof `wire.refusalReason`>

#### Parameters

| Name | Type |
| :- | :- |
| `...args` | \[refusal: ViewPlanRefusal] |

#### Returns

`ReturnType`\<typeof `wire.refusalReason`>

***

### viewPlanIsIndexed

▸ **viewPlanIsIndexed**(`...args`): `ReturnType`\<typeof `wire.viewPlanIsIndexed`>

#### Parameters

| Name | Type |
| :- | :- |
| `...args` | \[plan: ViewPlanExplanation] |

#### Returns

`ReturnType`\<typeof `wire.viewPlanIsIndexed`>

***

### viewPlanLines

▸ **viewPlanLines**(`...args`): `ReturnType`\<typeof `wire.viewPlanLines`>

#### Parameters

| Name | Type |
| :- | :- |
| `...args` | \[plan: ViewPlanExplanation] |

#### Returns

`ReturnType`\<typeof `wire.viewPlanLines`>

***

### viewPlanEvidence

▸ **viewPlanEvidence**(`...args`): `ReturnType`\<typeof `wire.viewPlanEvidence`>

#### Parameters

| Name | Type |
| :- | :- |
| `...args` | \[plan: ViewPlanExplanation] |

#### Returns

`ReturnType`\<typeof `wire.viewPlanEvidence`>

***

### viewWorkloadLines

▸ **viewWorkloadLines**(`plan`, `value`): `string`\[]

#### Parameters

| Name | Type |
| :- | :- |
| `plan` | [`ViewPlanExplanation`](https://docs.bijection.com/api/modules/sql#viewplanexplanation) |
| `value` | `unknown` |

#### Returns

`string`\[]

***

### readViewWorkloadEvidence

▸ **readViewWorkloadEvidence**(`value`): [`ViewWorkloadEvidence`](https://docs.bijection.com/api/modules/sql#viewworkloadevidence)

Validate a supplied native workload artifact. It establishes no current
program, provider guarantee or authorization.

#### Parameters

| Name | Type |
| :- | :- |
| `value` | `unknown` |

#### Returns

[`ViewWorkloadEvidence`](https://docs.bijection.com/api/modules/sql#viewworkloadevidence)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.