You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 4be85e7
Browse filesBrowse the repository at this point in the historyBrowse files
| Raw Scan | Read raw input rows | Engines can supply typed batch sources | Local raw Scan is rejected | Local raw source is explicitly deferred |
116
-
| Read materialization | Load previously computed state | Shared decoding and delta reconstruction | Catalog/store references, population and window checks | Missing or incompatible state is a runtime error |
117
-
| Maintain current-series state | Update values and timestamps of maintained time series | No general table update operation | Remote-write storage path | General row updates; this is not a raw-table executor |
118
-
| Read current-series state | Read maintained current values | Typed source interface | Installed identity/capacity and time scope | Arbitrary raw-table reading |
119
-
| Scalar | Produce a scalar | Typed source, including nullable values | Query scalar source | General ingestion literal binding |
| Unary negate | Negate a value | Int64/Float64 expression, null propagation and checked integer overflow | Query native Project | General ingestion expression binding |
122
-
| Vector to scalar | Convert an instant vector to a scalar | Native Float64 operator; zero or multiple rows yield NaN | Query native batch binding | General ingestion value binding |
123
-
| Exact aggregate | Compute Count/Sum/Avg/Min/Max, including ReduceSum | Native grouped aggregation; checked Int64 Sum, Float64 Sum/Avg, Int64 Count, ordered Min/Max and nullable inputs | Query vector and SQL relation bindings use shared computation | Other aggregate intents, unresolved grouping-without and per-entity relation lowering; no spill |
124
-
| Finalize exact accumulator / ExactReadout | Obtain an exact result from state | Shared state merge/finalization and typed batch readout | Ingestion finalization and stored-query readout use shared kernels | Arbitrary state conversion and unsupported exact families |
| Filter | Keep rows satisfying a predicate | Planner predicates, three-valued boolean logic and native filtering | SQL native DAG | Unsupported predicates/coercions |
127
-
| Relational join, including semi-join | Match rows; semi-join retains matching left rows | Inner/left/right/full/cross/semi/anti joins; typed predicates and nullable outer outputs | SQL native DAG; candidate vectors use general semi-join with explicit keys | General ingestion source binding; SQL candidate-pruning source binding |
128
-
| Sort | Order rows or values | Stable grouped sort with null placement | Query vector and SQL native Sort | Sort expressions must be projected first; unsupported key types; no spill |
129
-
| Limit | Keep a bounded slice per group | Grouped offset/limit across batches | Planner grouped Limit; query vector and SQL native binding | Limit does not rank or match candidate keys |
130
-
| Union | Combine compatible input streams | Fair polling of native input streams | Multi-input summary merge | General installed batch-source binding |
131
-
| SummaryAgg | Construct summary state | Native builders for exact Sum/Count/Min/Max/Rate/Increase, KLL, DDSketch and HLL; other admitted families have shared update kernels | Ingestion DAG and per-window update paths | General query builder binding; native Int64/keyed updates and other batch families |
132
-
| SummaryMerge | Combine compatible summary states | Native grouped merge and shared stored-state merge kernels | Ingestion native DAG; query selects panes and invokes shared state kernels | Cross-family conversion is not a merge; not every stored encoding has a native batch binding |
| SummaryJoin | Combine summaries using summary join semantics | No registered implementation | Rejected | Concrete semantics and implementation |
135
-
| SummarySubtract | Subtract summary state | No registered implementation | Rejected | Concrete semantics and implementation |
136
-
| SummaryDelete | Remove state contributions | No registered implementation | Rejected | Concrete semantics and implementation |
137
-
| Temporal computation | Compute Rate/Increase/Sum/Avg/Min/Max/Count over a window | Native window operator using Planner intents; reset-aware rates, Int64 Count | Query range vectors bind to native batches | Other temporal intents; general ingestion window binding |
138
-
| Histogram quantile | Interpolate a quantile from histogram buckets | Native window operator using Planner HistogramQuantile intent | Query bucket input binds to native batches | General ingestion histogram source binding |
139
-
| Subquery | Evaluate an expression over a time grid | Shared DAG execution and request-local caching of intermediate results | Backend binds a bounded grid of operation/evaluation-time nodes | General ingestion time-grid binding |
140
-
| Extension | Execute an additional operation | No universal executor | Unsupported extensions are rejected | A registered implementation for each admitted extension |
141
-
142
-
Stored-state codecs and readout kernels are library capabilities; they do not
143
-
imply that every family has a native batch builder. Parameter, schema, population
144
-
and window compatibility remain mandatory. Availability of an approximate
145
-
kernel does not prove its accuracy guarantee.
110
+
Operator support belongs to the [Planner library contract](physical-operators.md),
111
+
not a second backend operator matrix. Deployment acceptance additionally requires
112
+
compatible typed inputs, stored-state formats, grouping, windows, and accuracy
113
+
evidence. A library kernel alone does not establish deployment feasibility.
146
114
147
115
## Candidate pruning and grouped ranking
148
116
@@ -189,13 +157,13 @@ through fallback routing or by tests supplied with already decoded raw batches.
189
157
## Planner compilation and deployment binding
190
158
191
159
The backend `DeploymentPlanCompiler` establishes state identities, window contracts
192
-
and query/precompute bindings. ASAPPlanner #462 owns `physical_planner`, native
160
+
and query and precomputation bindings. ASAPPlanner #462 owns `physical_planner`, native
193
161
operators and DAG execution. Its compiler accepts typed input contracts without
194
162
live readers and produces `CompiledPhysicalDag`; instantiation binds inputs and
195
163
checks their properties without repeating operator lowering.
196
164
197
165
The SQL relation adapter composes Planner-compiled operators into that reusable
198
166
physical representation before reading storage, then resolves typed inputs and
199
-
instantiates the selected graph. PromQL vector and maintenance adapters continue
167
+
instantiates the selected graph. PromQL vector and precomputation adapters continue
200
168
to supply protocol/window inputs to the same native library. Source coverage,
201
169
revision admission, publication and serving remain deployment responsibilities.
0 commit comments