@quereus/quereus 4.13.1 → 4.15.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/core/statement.d.ts +30 -0
- package/dist/src/core/statement.d.ts.map +1 -1
- package/dist/src/core/statement.js +49 -0
- package/dist/src/core/statement.js.map +1 -1
- package/dist/src/emit/ast-stringify.d.ts.map +1 -1
- package/dist/src/emit/ast-stringify.js +0 -4
- package/dist/src/emit/ast-stringify.js.map +1 -1
- package/dist/src/func/builtins/explain.d.ts.map +1 -1
- package/dist/src/func/builtins/explain.js +89 -62
- package/dist/src/func/builtins/explain.js.map +1 -1
- package/dist/src/func/registration.d.ts +7 -0
- package/dist/src/func/registration.d.ts.map +1 -1
- package/dist/src/func/registration.js +7 -0
- package/dist/src/func/registration.js.map +1 -1
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/parser/ast.d.ts +0 -2
- package/dist/src/parser/ast.d.ts.map +1 -1
- package/dist/src/parser/parser.d.ts +1 -0
- package/dist/src/parser/parser.d.ts.map +1 -1
- package/dist/src/parser/parser.js +29 -28
- package/dist/src/parser/parser.js.map +1 -1
- package/dist/src/planner/mutation/capture-correlation.d.ts +57 -0
- package/dist/src/planner/mutation/capture-correlation.d.ts.map +1 -0
- package/dist/src/planner/mutation/capture-correlation.js +57 -0
- package/dist/src/planner/mutation/capture-correlation.js.map +1 -0
- package/dist/src/planner/mutation/decomposition.d.ts.map +1 -1
- package/dist/src/planner/mutation/decomposition.js +86 -23
- package/dist/src/planner/mutation/decomposition.js.map +1 -1
- package/dist/src/planner/mutation/lens-enforcement.d.ts.map +1 -1
- package/dist/src/planner/mutation/lens-enforcement.js +15 -20
- package/dist/src/planner/mutation/lens-enforcement.js.map +1 -1
- package/dist/src/planner/mutation/multi-source.d.ts +52 -11
- package/dist/src/planner/mutation/multi-source.d.ts.map +1 -1
- package/dist/src/planner/mutation/multi-source.js +273 -86
- package/dist/src/planner/mutation/multi-source.js.map +1 -1
- package/dist/src/planner/mutation/set-op.d.ts.map +1 -1
- package/dist/src/planner/mutation/set-op.js +4 -12
- package/dist/src/planner/mutation/set-op.js.map +1 -1
- package/dist/src/planner/mutation/single-source.js +1 -1
- package/dist/src/planner/mutation/single-source.js.map +1 -1
- package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
- package/dist/src/runtime/emit/alter-table.js +8 -10
- package/dist/src/runtime/emit/alter-table.js.map +1 -1
- package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
- package/dist/src/runtime/emit/dml-executor.js +23 -0
- package/dist/src/runtime/emit/dml-executor.js.map +1 -1
- package/dist/src/runtime/emit/materialized-view-helpers.d.ts +16 -4
- package/dist/src/runtime/emit/materialized-view-helpers.d.ts.map +1 -1
- package/dist/src/runtime/emit/materialized-view-helpers.js +182 -25
- package/dist/src/runtime/emit/materialized-view-helpers.js.map +1 -1
- package/dist/src/runtime/emit/materialized-view.d.ts.map +1 -1
- package/dist/src/runtime/emit/materialized-view.js +1 -1
- package/dist/src/runtime/emit/materialized-view.js.map +1 -1
- package/dist/src/runtime/emit/scan.d.ts.map +1 -1
- package/dist/src/runtime/emit/scan.js +52 -9
- package/dist/src/runtime/emit/scan.js.map +1 -1
- package/dist/src/runtime/emit/set-object-tags.js +4 -4
- package/dist/src/runtime/emit/set-object-tags.js.map +1 -1
- package/dist/src/runtime/emitters.d.ts.map +1 -1
- package/dist/src/runtime/emitters.js +6 -0
- package/dist/src/runtime/emitters.js.map +1 -1
- package/dist/src/runtime/parallel-driver.d.ts +5 -0
- package/dist/src/runtime/parallel-driver.d.ts.map +1 -1
- package/dist/src/runtime/parallel-driver.js +6 -0
- package/dist/src/runtime/parallel-driver.js.map +1 -1
- package/dist/src/runtime/scheduler.d.ts +9 -0
- package/dist/src/runtime/scheduler.d.ts.map +1 -1
- package/dist/src/runtime/scheduler.js +27 -11
- package/dist/src/runtime/scheduler.js.map +1 -1
- package/dist/src/runtime/types.d.ts +19 -0
- package/dist/src/runtime/types.d.ts.map +1 -1
- package/dist/src/runtime/types.js.map +1 -1
- package/dist/src/runtime/work-counters.d.ts +180 -0
- package/dist/src/runtime/work-counters.d.ts.map +1 -0
- package/dist/src/runtime/work-counters.js +210 -0
- package/dist/src/runtime/work-counters.js.map +1 -0
- package/dist/src/schema/ddl-generator.d.ts.map +1 -1
- package/dist/src/schema/ddl-generator.js +65 -24
- package/dist/src/schema/ddl-generator.js.map +1 -1
- package/dist/src/schema/lens-ack.d.ts +1 -1
- package/dist/src/schema/lens-ack.js +2 -2
- package/dist/src/schema/lens-compiler.d.ts.map +1 -1
- package/dist/src/schema/lens-compiler.js +63 -34
- package/dist/src/schema/lens-compiler.js.map +1 -1
- package/dist/src/schema/lens-prover.d.ts +4 -4
- package/dist/src/schema/lens-prover.d.ts.map +1 -1
- package/dist/src/schema/lens-prover.js +13 -5
- package/dist/src/schema/lens-prover.js.map +1 -1
- package/dist/src/schema/lens.d.ts +1 -1
- package/dist/src/schema/manager.d.ts.map +1 -1
- package/dist/src/schema/manager.js +25 -13
- package/dist/src/schema/manager.js.map +1 -1
- package/dist/src/schema/reserved-tags.js +1 -1
- package/dist/src/schema/reserved-tags.js.map +1 -1
- package/dist/src/schema/schema-differ.d.ts.map +1 -1
- package/dist/src/schema/schema-differ.js +4 -3
- package/dist/src/schema/schema-differ.js.map +1 -1
- package/dist/src/schema/table.d.ts +41 -34
- package/dist/src/schema/table.d.ts.map +1 -1
- package/dist/src/schema/table.js +24 -43
- package/dist/src/schema/table.js.map +1 -1
- package/dist/src/vtab/alter-event-shape.d.ts +35 -0
- package/dist/src/vtab/alter-event-shape.d.ts.map +1 -0
- package/dist/src/vtab/alter-event-shape.js +47 -0
- package/dist/src/vtab/alter-event-shape.js.map +1 -0
- package/dist/src/vtab/memory/layer/alter-column.d.ts +8 -1
- package/dist/src/vtab/memory/layer/alter-column.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/alter-column.js +20 -10
- package/dist/src/vtab/memory/layer/alter-column.js.map +1 -1
- package/dist/src/vtab/memory/layer/base.d.ts +9 -1
- package/dist/src/vtab/memory/layer/base.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/base.js +12 -1
- package/dist/src/vtab/memory/layer/base.js.map +1 -1
- package/dist/src/vtab/memory/layer/manager.d.ts +23 -18
- package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/manager.js +44 -33
- package/dist/src/vtab/memory/layer/manager.js.map +1 -1
- package/dist/src/vtab/memory/layer/row-convert.d.ts +13 -0
- package/dist/src/vtab/memory/layer/row-convert.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/row-convert.js +24 -0
- package/dist/src/vtab/memory/layer/row-convert.js.map +1 -1
- package/dist/src/vtab/memory/layer/transaction.d.ts +21 -7
- package/dist/src/vtab/memory/layer/transaction.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/transaction.js +30 -14
- package/dist/src/vtab/memory/layer/transaction.js.map +1 -1
- package/dist/src/vtab/memory/module.d.ts +0 -8
- package/dist/src/vtab/memory/module.d.ts.map +1 -1
- package/dist/src/vtab/memory/module.js +2 -25
- package/dist/src/vtab/memory/module.js.map +1 -1
- package/dist/src/vtab/module.d.ts +20 -2
- package/dist/src/vtab/module.d.ts.map +1 -1
- package/package.json +6 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emitters.js","sourceRoot":"","sources":["../../../src/runtime/emitters.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"emitters.js","sourceRoot":"","sources":["../../../src/runtime/emitters.ts"],"names":[],"mappings":"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"}
|
|
@@ -84,6 +84,11 @@ export declare class ParallelDriver {
|
|
|
84
84
|
* sibling branch re-driving the same IN site within the same execution. Same
|
|
85
85
|
* lazy-creation caveat as `executionMemo`. Dormant today: ParallelDriver has no
|
|
86
86
|
* query consumers.)
|
|
87
|
+
* (`workCounters` is the per-execution work-counter collector; shared by
|
|
88
|
+
* reference — a write-only sink like `tracer` — so counts incremented inside a
|
|
89
|
+
* forked branch roll up into the parent's snapshot with no merge step. It is a
|
|
90
|
+
* plain object field, not one of the two strict-fork-wrapped maps, so
|
|
91
|
+
* incrementing it from a fork never trips the strict-fork parent-mutation guard.)
|
|
87
92
|
*
|
|
88
93
|
* The parent is treated as immutable for the lifetime of the forks.
|
|
89
94
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parallel-driver.d.ts","sourceRoot":"","sources":["../../../src/runtime/parallel-driver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAIN,qBAAqB,EACrB,qBAAqB,EAErB,MAAM,kBAAkB,CAAC;AAE1B;;;;GAIG;AACH,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC,sFAAsF;IACtF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,oGAAoG;AACpG,MAAM,WAAW,iBAAiB,CAAC,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;CAClB;AAED;;;;;;;;;GASG;AACH,qBAAa,cAAc;IAC1B
|
|
1
|
+
{"version":3,"file":"parallel-driver.d.ts","sourceRoot":"","sources":["../../../src/runtime/parallel-driver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAIN,qBAAqB,EACrB,qBAAqB,EAErB,MAAM,kBAAkB,CAAC;AAE1B;;;;GAIG;AACH,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC,sFAAsF;IACtF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,oGAAoG;AACpG,MAAM,WAAW,iBAAiB,CAAC,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;CAClB;AAED;;;;;;;;;GASG;AACH,qBAAa,cAAc;IAC1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4DG;IACH,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE;IAoDvD;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,CAAC,EACN,SAAS,EAAE,aAAa,CAAC,CAAC,GAAG,EAAE,cAAc,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,EACnE,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC,EACpC,IAAI,CAAC,EAAE,oBAAoB,GACzB,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;CAQtC"}
|
|
@@ -69,6 +69,11 @@ export class ParallelDriver {
|
|
|
69
69
|
* sibling branch re-driving the same IN site within the same execution. Same
|
|
70
70
|
* lazy-creation caveat as `executionMemo`. Dormant today: ParallelDriver has no
|
|
71
71
|
* query consumers.)
|
|
72
|
+
* (`workCounters` is the per-execution work-counter collector; shared by
|
|
73
|
+
* reference — a write-only sink like `tracer` — so counts incremented inside a
|
|
74
|
+
* forked branch roll up into the parent's snapshot with no merge step. It is a
|
|
75
|
+
* plain object field, not one of the two strict-fork-wrapped maps, so
|
|
76
|
+
* incrementing it from a fork never trips the strict-fork parent-mutation guard.)
|
|
72
77
|
*
|
|
73
78
|
* The parent is treated as immutable for the lifetime of the forks.
|
|
74
79
|
*/
|
|
@@ -114,6 +119,7 @@ export class ParallelDriver {
|
|
|
114
119
|
cacheStates: rctx.cacheStates,
|
|
115
120
|
cteMaterializations: rctx.cteMaterializations,
|
|
116
121
|
inSetProbes: rctx.inSetProbes,
|
|
122
|
+
workCounters: rctx.workCounters,
|
|
117
123
|
};
|
|
118
124
|
if (strict) {
|
|
119
125
|
markForkOf(childTableContexts, rctx.tableContexts);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parallel-driver.js","sourceRoot":"","sources":["../../../src/runtime/parallel-driver.ts"],"names":[],"mappings":"AACA,OAAO,EACN,yBAAyB,EACzB,uBAAuB,EACvB,UAAU,EACV,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,GACjB,MAAM,kBAAkB,CAAC;AAE1B;;;;GAIG;AACH,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,CAAC;AAkBxD;;;;;;;;;GASG;AACH,MAAM,OAAO,cAAc;IAC1B
|
|
1
|
+
{"version":3,"file":"parallel-driver.js","sourceRoot":"","sources":["../../../src/runtime/parallel-driver.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,6 +61,15 @@ export declare class Scheduler {
|
|
|
61
61
|
* destination — like optimized — so no separate async instruction runner is
|
|
62
62
|
* needed. `onComplete` logs the aggregate on the normal-completion path only
|
|
63
63
|
* (never on throw), matching the pre-collapse behavior.
|
|
64
|
+
*
|
|
65
|
+
* When the context carries a work-counter collector
|
|
66
|
+
* (`Statement._iterateRowsRawInternal` builds one per execution), each
|
|
67
|
+
* instruction also feeds its counter slot. Unlike `runtimeStats`, slots are
|
|
68
|
+
* never reset here — they accumulate across sub-program re-invocations for the
|
|
69
|
+
* whole execution. Deliberately NOT fed via an `onAsyncOutput` hook: the async
|
|
70
|
+
* loop `await`s that hook's return, which would eagerly settle every promise
|
|
71
|
+
* output at the producing instruction and serialize work that today runs
|
|
72
|
+
* concurrently via parked promises + destination `Promise.all`.
|
|
64
73
|
*/
|
|
65
74
|
private metricsHooks;
|
|
66
75
|
private runInstructionWithMetrics;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../src/runtime/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACvF,OAAO,KAAK,EAAE,WAAW,EAAqB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../src/runtime/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACvF,OAAO,KAAK,EAAE,WAAW,EAAqB,MAAM,oBAAoB,CAAC;AAUzE,KAAK,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAAC;AA4EvC,qBAAa,SAAS;IACrB,QAAQ,CAAC,YAAY,EAAE,WAAW,EAAE,CAAM;IAC1C,6EAA6E;IAC7E,QAAQ,CAAC,YAAY,EAAE,iBAAiB,EAAE,CAAC;gBAE/B,IAAI,EAAE,WAAW;IAwB7B,GAAG,CAAC,GAAG,EAAE,cAAc,GAAG,WAAW;IA8BrC;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;IAgCjC;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IA4CnB;;;;;;;;;;;;OAYG;YACW,YAAY;IAwE1B;;;;;;OAMG;YACW,sBAAsB;IAoBpC,sEAAsE;IACtE,OAAO,CAAC,cAAc;IAMtB;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY;IA6BpB;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,YAAY;IAiCpB,OAAO,CAAC,yBAAyB;IAqCjC,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,mBAAmB;IAoB3B;;OAEG;IACH,UAAU,IAAI,uBAAuB,EAAE;CAQvC"}
|
|
@@ -2,6 +2,7 @@ import { isAsyncIterable } from "./utils.js";
|
|
|
2
2
|
import { hrtimeNs } from "../util/hrtime.js";
|
|
3
3
|
import { createLogger } from "../common/logger.js";
|
|
4
4
|
import { DefaultContextTracker } from './types.js';
|
|
5
|
+
import { recordOutput } from './work-counters.js';
|
|
5
6
|
const log = createLogger('runtime:metrics');
|
|
6
7
|
const contextLog = createLogger('runtime:context');
|
|
7
8
|
/** Symbol to mark wrapped iterables to prevent double-wrapping */
|
|
@@ -59,7 +60,7 @@ export class Scheduler {
|
|
|
59
60
|
}
|
|
60
61
|
let result;
|
|
61
62
|
if (ctx.enableMetrics) {
|
|
62
|
-
result = this.runSyncLoop(ctx, this.metricsHooks());
|
|
63
|
+
result = this.runSyncLoop(ctx, this.metricsHooks(ctx));
|
|
63
64
|
}
|
|
64
65
|
else if (!ctx.tracer) {
|
|
65
66
|
result = this.runSyncLoop(ctx, this.optimizedHooks());
|
|
@@ -133,7 +134,7 @@ export class Scheduler {
|
|
|
133
134
|
instrArgs[i] = undefined; // Clear args as we go to minimize memory usage.
|
|
134
135
|
hooks.onInput?.(i, instruction, args);
|
|
135
136
|
try {
|
|
136
|
-
output = hooks.runInstruction(instruction, ctx, args);
|
|
137
|
+
output = hooks.runInstruction(i, instruction, ctx, args);
|
|
137
138
|
// If the instruction returned a promise, switch to async mode for the rest.
|
|
138
139
|
if (output instanceof Promise) {
|
|
139
140
|
return this.runAsyncLoop(ctx, instrArgs, i, output, hooks);
|
|
@@ -197,7 +198,7 @@ export class Scheduler {
|
|
|
197
198
|
}
|
|
198
199
|
hooks.onInput?.(i, instruction, args);
|
|
199
200
|
try {
|
|
200
|
-
output = hooks.runInstruction(instruction, ctx, args);
|
|
201
|
+
output = hooks.runInstruction(i, instruction, ctx, args);
|
|
201
202
|
if (hooks.onAsyncOutput) {
|
|
202
203
|
output = await hooks.onAsyncOutput(i, instruction, output);
|
|
203
204
|
}
|
|
@@ -255,7 +256,7 @@ export class Scheduler {
|
|
|
255
256
|
/** Optimized mode: plain dispatch, no tracing or metrics overhead. */
|
|
256
257
|
optimizedHooks() {
|
|
257
258
|
return {
|
|
258
|
-
runInstruction: (instruction, ctx, args) => instruction.run(ctx, ...args),
|
|
259
|
+
runInstruction: (_index, instruction, ctx, args) => instruction.run(ctx, ...args),
|
|
259
260
|
};
|
|
260
261
|
}
|
|
261
262
|
/**
|
|
@@ -270,7 +271,7 @@ export class Scheduler {
|
|
|
270
271
|
const tracer = ctx.tracer;
|
|
271
272
|
return {
|
|
272
273
|
onInput: (i, instruction, args) => tracer.traceInput(i, instruction, args),
|
|
273
|
-
runInstruction: (instruction, rctx, args) => instruction.run(rctx, ...args),
|
|
274
|
+
runInstruction: (_index, instruction, rctx, args) => instruction.run(rctx, ...args),
|
|
274
275
|
onSyncOutput: (i, instruction, output) => {
|
|
275
276
|
let traced = output;
|
|
276
277
|
if (isAsyncIterable(traced)) {
|
|
@@ -301,8 +302,18 @@ export class Scheduler {
|
|
|
301
302
|
* destination — like optimized — so no separate async instruction runner is
|
|
302
303
|
* needed. `onComplete` logs the aggregate on the normal-completion path only
|
|
303
304
|
* (never on throw), matching the pre-collapse behavior.
|
|
305
|
+
*
|
|
306
|
+
* When the context carries a work-counter collector
|
|
307
|
+
* (`Statement._iterateRowsRawInternal` builds one per execution), each
|
|
308
|
+
* instruction also feeds its counter slot. Unlike `runtimeStats`, slots are
|
|
309
|
+
* never reset here — they accumulate across sub-program re-invocations for the
|
|
310
|
+
* whole execution. Deliberately NOT fed via an `onAsyncOutput` hook: the async
|
|
311
|
+
* loop `await`s that hook's return, which would eagerly settle every promise
|
|
312
|
+
* output at the producing instruction and serialize work that today runs
|
|
313
|
+
* concurrently via parked promises + destination `Promise.all`.
|
|
304
314
|
*/
|
|
305
|
-
metricsHooks() {
|
|
315
|
+
metricsHooks(ctx) {
|
|
316
|
+
const counters = ctx.workCounters?.countersFor(this);
|
|
306
317
|
return {
|
|
307
318
|
onStart: () => {
|
|
308
319
|
// Reset (not create-if-absent): a cached scheduler is reused across
|
|
@@ -330,15 +341,20 @@ export class Scheduler {
|
|
|
330
341
|
}
|
|
331
342
|
}
|
|
332
343
|
},
|
|
333
|
-
runInstruction: (instruction,
|
|
344
|
+
runInstruction: (i, instruction, rctx, args) => this.runInstructionWithMetrics(instruction, rctx, args, counters?.[i]),
|
|
334
345
|
onComplete: () => this.logAggregateMetrics(),
|
|
335
346
|
};
|
|
336
347
|
}
|
|
337
|
-
runInstructionWithMetrics(instruction, ctx, args) {
|
|
348
|
+
runInstructionWithMetrics(instruction, ctx, args, slot) {
|
|
338
349
|
const stats = instruction.runtimeStats;
|
|
339
350
|
const start = hrtimeNs();
|
|
351
|
+
const inputCount = this.countInputs(args);
|
|
340
352
|
stats.executions++;
|
|
341
|
-
stats.in +=
|
|
353
|
+
stats.in += inputCount;
|
|
354
|
+
if (slot) {
|
|
355
|
+
slot.executions++;
|
|
356
|
+
slot.in += inputCount;
|
|
357
|
+
}
|
|
342
358
|
try {
|
|
343
359
|
const result = instruction.run(ctx, ...args);
|
|
344
360
|
if (result instanceof Promise) {
|
|
@@ -346,7 +362,7 @@ export class Scheduler {
|
|
|
346
362
|
return result.then(resolved => {
|
|
347
363
|
stats.out += this.countOutputs(resolved);
|
|
348
364
|
stats.elapsedNs += hrtimeNs() - start;
|
|
349
|
-
return resolved;
|
|
365
|
+
return slot ? recordOutput(slot, resolved) : resolved;
|
|
350
366
|
}).catch(error => {
|
|
351
367
|
stats.elapsedNs += hrtimeNs() - start;
|
|
352
368
|
throw error;
|
|
@@ -354,7 +370,7 @@ export class Scheduler {
|
|
|
354
370
|
}
|
|
355
371
|
stats.out += this.countOutputs(result);
|
|
356
372
|
stats.elapsedNs += hrtimeNs() - start;
|
|
357
|
-
return result;
|
|
373
|
+
return slot ? recordOutput(slot, result) : result;
|
|
358
374
|
}
|
|
359
375
|
catch (error) {
|
|
360
376
|
stats.elapsedNs += hrtimeNs() - start;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../src/runtime/scheduler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD,MAAM,GAAG,GAAG,YAAY,CAAC,iBAAiB,CAAC,CAAC;AAC5C,MAAM,UAAU,GAAG,YAAY,CAAC,iBAAiB,CAAC,CAAC;AAInD,kEAAkE;AAClE,MAAM,sBAAsB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAExD;;GAEG;AACH,SAAS,sBAAsB,CAC9B,GAAqB,EACrB,GAAmB,EACnB,gBAAwB,EACxB,WAAwB;IAExB,0BAA0B;IAC1B,IAAK,GAA0C,CAAC,sBAAsB,CAAC,EAAE,CAAC;QACzE,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,MAAO,CAAC;IAC3B,MAAM,OAAO,GAAG,CAAC,KAAK,SAAS,CAAC;QAC/B,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YAC7B,+DAA+D;YAC/D,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1C,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,GAAU,CAAC,CAAC;YACxE,CAAC;YACD,MAAM,GAAG,CAAC;QACX,CAAC;IACF,CAAC,CAAC,EAAE,CAAC;IAEL,0BAA0B;IACzB,OAA8C,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC;IAC/E,OAAO,OAAO,CAAC;AAChB,CAAC;AAsCD,MAAM,OAAO,SAAS;IACZ,YAAY,GAAkB,EAAE,CAAC;IAC1C,6EAA6E;IACpE,YAAY,CAAsB;IAE3C,YAAY,IAAiB;QAC5B,MAAM,UAAU,GAAe,EAAE,CAAC;QAElC,MAAM,SAAS,GAAG,CAAC,IAAiB,EAAU,EAAE;YAC/C,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtD,UAAU,CAAC,YAAY,CAAC,GAAG,cAAc,CAAC;YAC1C,OAAO,YAAY,CAAC;QACrB,CAAC,CAAC;QAEF,SAAS,CAAC,IAAI,CAAC,CAAC;QAEhB,IAAI,CAAC,YAAY,GAAG,IAAI,KAAK,CAAoB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtF,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC;YAC3E,MAAM,cAAc,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;YAC7C,IAAI,cAAc,EAAE,CAAC;gBACpB,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,cAAc,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC;oBACrE,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC;gBACzD,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAED,GAAG,CAAC,GAAmB;QACtB,oDAAoD;QACpD,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;YACzB,GAAG,CAAC,cAAc,GAAG,IAAI,qBAAqB,EAAE,CAAC;QAClD,CAAC;QAED,IAAI,MAAmB,CAAC;QAExB,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACrD,CAAC;aAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACP,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,CAAC;QAED,0EAA0E;QAC1E,+EAA+E;QAC/E,6EAA6E;QAC7E,4EAA4E;QAC5E,sEAAsE;QACtE,6EAA6E;QAC7E,2CAA2C;QAC3C,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,yBAAyB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;;;OAIG;IACK,yBAAyB,CAAC,GAAmB,EAAE,MAAmB;QACzE,MAAM,KAAK,GAAG,GAAS,EAAE;YACxB,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACxD,UAAU,CAAC,wEAAwE,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAChI,CAAC;YACD,IAAI,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,cAAc,CAAC,oBAAoB,EAAE,EAAE,CAAC;gBACrE,MAAM,SAAS,GAAG,GAAG,CAAC,cAAc,CAAC,oBAAoB,EAAE,CAAC;gBAC5D,UAAU,CAAC,iDAAiD,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAC7F,CAAC;QACF,CAAC,CAAC;QAEF,IAAI,eAAe,CAAM,MAAM,CAAC,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAuB,MAAM,CAAC;YAC5C,OAAO,CAAC,KAAK,SAAS,CAAC;gBACtB,IAAI,CAAC;oBACJ,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;wBAClC,MAAM,GAAG,CAAC;oBACX,CAAC;gBACF,CAAC;wBAAS,CAAC;oBACV,KAAK,EAAE,CAAC;gBACT,CAAC;YACF,CAAC,CAAC,EAAE,CAAC;QACN,CAAC;QAED,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QAED,KAAK,EAAE,CAAC;QACR,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACK,WAAW,CAAC,GAAmB,EAAE,KAAe;QACvD,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QAElB,uCAAuC;QACvC,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,EAA+B,CAAC,CAAC;QAC5G,iBAAiB;QACjB,IAAI,MAA+B,CAAC;QAEpC,2CAA2C;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YACnD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAE,CAAC,CAAC,qCAAqC;YACjE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,gDAAgD;YAE1E,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,IAAsB,CAAC,CAAC;YAExD,IAAI,CAAC;gBACJ,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,EAAE,GAAG,EAAE,IAAsB,CAAC,CAAC;gBAExE,4EAA4E;gBAC5E,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;oBAC/B,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC5D,CAAC;gBAED,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;oBACxB,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;gBACrD,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;gBACvC,MAAM,KAAK,CAAC;YACb,CAAC;YAED,2BAA2B;YAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACzC,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBAC1B,SAAS,CAAC,WAAW,CAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;QACF,CAAC;QAED,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC;QAErB,OAAO,MAAqB,CAAC;IAC9B,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,KAAK,CAAC,YAAY,CACzB,GAAmB,EACnB,SAAwC,EACxC,UAAkB,EAClB,aAA0B,EAC1B,KAAe;QAEf,kDAAkD;QAClD,MAAM,UAAU,GAAc,EAAE,CAAC;QAEjC,IAAI,MAA+B,CAAC;QAEpC,IAAI,CAAC;YACJ,sEAAsE;YACtE,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YACvD,MAAM,GAAG,KAAK,CAAC,aAAa;gBAC3B,CAAC,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,gBAAgB,EAAE,aAAa,CAAC;gBACxE,CAAC,CAAC,aAAa,CAAC;YAEjB,0EAA0E;YAC1E,kEAAkE;YAClE,wDAAwD;YACxD,MAAM,qBAAqB,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAC5D,IAAI,qBAAqB,KAAK,IAAI,EAAE,CAAC;gBACpC,SAAS,CAAC,qBAAqB,CAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC/C,UAAU,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC;YAC1C,CAAC;YAED,sDAAsD;YACtD,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;gBAChE,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBACzC,IAAI,IAAI,GAAG,SAAS,CAAC,CAAC,CAAE,CAAC;gBACzB,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;gBAEzB,gCAAgC;gBAChC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnB,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAChC,CAAC;gBAED,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,IAAsB,CAAC,CAAC;gBAExD,IAAI,CAAC;oBACJ,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,EAAE,GAAG,EAAE,IAAsB,CAAC,CAAC;oBACxE,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;wBACzB,MAAM,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;oBAC5D,CAAC;gBACF,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;oBACvC,MAAM,KAAK,CAAC;gBACb,CAAC;gBAED,mBAAmB;gBACnB,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBACzC,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;oBAC1B,SAAS,CAAC,WAAW,CAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACrC,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;wBAC/B,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;oBAChC,CAAC;gBACF,CAAC;YACF,CAAC;YAED,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC;YAErB,OAAO,MAAsB,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,wEAAwE;YACxE,mDAAmD;YACnD,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,sBAAsB,CAAC,SAAwC;QAC5E,MAAM,OAAO,GAAuB,EAAE,CAAC;QACvC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACxB,IAAI,GAAG,YAAY,OAAO,EAAE,CAAC;oBAC5B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnB,CAAC;YACF,CAAC;QACF,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEjC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAClD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC9B,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAClC,GAAG,CAAC,6EAA6E,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACnG,CAAC;QACF,CAAC;IACF,CAAC;IAED,sEAAsE;IAC9D,cAAc;QACrB,OAAO;YACN,cAAc,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;SACzE,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,YAAY,CAAC,GAAmB;QACvC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAO,CAAC;QAC3B,OAAO;YACN,OAAO,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC;YAC1E,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC;YAC3E,YAAY,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE;gBACxC,IAAI,MAAM,GAAG,MAAM,CAAC;gBACpB,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC7B,MAAM,GAAG,sBAAsB,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;gBAC9D,CAAC;gBACD,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;gBAC3C,OAAO,MAAM,CAAC;YACf,CAAC;YACD,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE;gBAC/C,IAAI,QAAQ,GAAG,MAAM,YAAY,OAAO,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;gBACjE,kEAAkE;gBAClE,+CAA+C;gBAC/C,IAAI,SAAS,GAAgB,MAAM,CAAC;gBACpC,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC/B,QAAQ,GAAG,sBAAsB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;oBACjE,SAAS,GAAG,QAAQ,CAAC;gBACtB,CAAC;gBACD,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;gBAC7C,OAAO,SAAS,CAAC;YAClB,CAAC;YACD,OAAO,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,WAAW,EAAE,KAAc,CAAC;SACrF,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,YAAY;QACnB,OAAO;YACN,OAAO,EAAE,GAAG,EAAE;gBACb,oEAAoE;gBACpE,uEAAuE;gBACvE,gDAAgD;gBAChD,0EAA0E;gBAC1E,6EAA6E;gBAC7E,8EAA8E;gBAC9E,8EAA8E;gBAC9E,iDAAiD;gBACjD,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBAC7C,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;wBAC9B,WAAW,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC;wBAChC,WAAW,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC;wBACjC,WAAW,CAAC,YAAY,CAAC,SAAS,GAAG,EAAE,CAAC;wBACxC,WAAW,CAAC,YAAY,CAAC,UAAU,GAAG,CAAC,CAAC;oBACzC,CAAC;yBAAM,CAAC;wBACP,WAAW,CAAC,YAAY,GAAG;4BAC1B,EAAE,EAAE,CAAC;4BACL,GAAG,EAAE,CAAC;4BACN,SAAS,EAAE,EAAE;4BACb,UAAU,EAAE,CAAC;yBACb,CAAC;oBACH,CAAC;gBACF,CAAC;YACF,CAAC;YACD,cAAc,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE,GAAG,EAAE,IAAI,CAAC;YAClG,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE;SAC5C,CAAC;IACH,CAAC;IAEO,yBAAyB,CAAC,WAAwB,EAAE,GAAmB,EAAE,IAAoB;QACpG,MAAM,KAAK,GAAG,WAAW,CAAC,YAAa,CAAC;QACxC,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;QAEzB,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEnC,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;YAE7C,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;gBAC/B,kCAAkC;gBAClC,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;oBAC7B,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;oBACzC,KAAK,CAAC,SAAS,IAAI,QAAQ,EAAE,GAAG,KAAK,CAAC;oBACtC,OAAO,QAAQ,CAAC;gBACjB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;oBAChB,KAAK,CAAC,SAAS,IAAI,QAAQ,EAAE,GAAG,KAAK,CAAC;oBACtC,MAAM,KAAK,CAAC;gBACb,CAAC,CAAC,CAAC;YACJ,CAAC;YAED,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACvC,KAAK,CAAC,SAAS,IAAI,QAAQ,EAAE,GAAG,KAAK,CAAC;YAEtC,OAAO,MAAM,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,KAAK,CAAC,SAAS,IAAI,QAAQ,EAAE,GAAG,KAAK,CAAC;YACtC,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC;IAEO,WAAW,CAAC,IAAoB;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAW,EAAE,GAAG,EAAE,EAAE;YACvC,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,sDAAsD;YACvE,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,OAAO,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACP,OAAO,GAAG,GAAG,CAAC,CAAC;YAChB,CAAC;QACF,CAAC,EAAE,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,YAAY,CAAC,MAAmB;QACvC,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,CAAC,CAAC,sDAAsD;QACjE,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClC,OAAO,MAAM,CAAC,MAAM,CAAC;QACtB,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,CAAC;QACV,CAAC;IACF,CAAC;IAEO,mBAAmB;QAC1B,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,eAAe,GAAG,CAAC,CAAC;YACxB,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,IAAI,QAAQ,GAAG,CAAC,CAAC;YAEjB,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC7C,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;oBAC9B,eAAe,IAAI,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC;oBACvD,YAAY,IAAI,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC;oBACnD,OAAO,IAAI,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC;oBACvC,QAAQ,IAAI,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC;gBAC1C,CAAC;YACF,CAAC;YAED,GAAG,CAAC,sBAAsB,eAAe,gBAAgB,YAAY,GAAG,KAAK,eAAe,OAAO,YAAY,QAAQ,UAAU,CAAC,CAAC;QACpI,CAAC;IACF,CAAC;IAED;;OAEG;IACH,UAAU;QACT,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,YAAY,IAAI;YACvE,EAAE,EAAE,CAAC;YACL,GAAG,EAAE,CAAC;YACN,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,CAAC;SACb,CAAC,CAAC;IACJ,CAAC;CACD"}
|
|
1
|
+
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../src/runtime/scheduler.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,8 @@ import type { PlanNode } from '../planner/nodes/plan-node.js';
|
|
|
9
9
|
import type { RowContextMap } from './context-helpers.js';
|
|
10
10
|
import type { CacheState } from './cache/shared-cache.js';
|
|
11
11
|
import type { BTree } from 'inheritree';
|
|
12
|
+
import type { PlanNodeType } from '../planner/nodes/plan-node-type.js';
|
|
13
|
+
import type { WorkCounterCollector } from './work-counters.js';
|
|
12
14
|
export type { OutputValue };
|
|
13
15
|
export type RuntimeContext = {
|
|
14
16
|
db: Database;
|
|
@@ -140,6 +142,15 @@ export type RuntimeContext = {
|
|
|
140
142
|
tree: BTree<SqlValue, SqlValue>;
|
|
141
143
|
hasNull: boolean;
|
|
142
144
|
}>;
|
|
145
|
+
/**
|
|
146
|
+
* Per-execution work-counter collector; present only when `enableMetrics` is on
|
|
147
|
+
* AND the execution site built one (`Statement._iterateRowsRawInternal`). The
|
|
148
|
+
* transient metrics-enabled contexts (database.ts exec path, deferred-constraint
|
|
149
|
+
* queue, assertions) leave it undefined and keep today's behavior. Fork policy
|
|
150
|
+
* `shared-sink`: forks share the collector by reference so branch counts roll up
|
|
151
|
+
* into the parent snapshot with no merge step (see parallel-driver.ts).
|
|
152
|
+
*/
|
|
153
|
+
workCounters?: WorkCounterCollector;
|
|
143
154
|
};
|
|
144
155
|
export type InstructionRun = (ctx: RuntimeContext, ...args: RuntimeValue[]) => OutputValue;
|
|
145
156
|
export type Instruction = {
|
|
@@ -151,6 +162,14 @@ export type Instruction = {
|
|
|
151
162
|
programs?: Scheduler[];
|
|
152
163
|
/** Optional runtime statistics collected during execution */
|
|
153
164
|
runtimeStats?: InstructionRuntimeStats;
|
|
165
|
+
/**
|
|
166
|
+
* PlanNodeType of the plan node this instruction was emitted from; stamped
|
|
167
|
+
* centrally in `emitPlanNode`. Undefined for synthetic instructions (emitCall
|
|
168
|
+
* callbacks, fused scalars). Labels work-counter snapshot entries
|
|
169
|
+
* (runtime/work-counters.ts) — values are stable strings, safe in a
|
|
170
|
+
* machine-independent surface where a plan-node id is not.
|
|
171
|
+
*/
|
|
172
|
+
nodeType?: PlanNodeType;
|
|
154
173
|
};
|
|
155
174
|
/**
|
|
156
175
|
* Adapts an emitter's precisely-typed `run` (e.g.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/runtime/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/runtime/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/runtime/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/runtime/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import type { OutputValue } from '../common/types.js';
|
|
2
|
+
import type { PlanNode } from '../planner/nodes/plan-node.js';
|
|
3
|
+
import type { PlanNodeType } from '../planner/nodes/plan-node-type.js';
|
|
4
|
+
import type { Scheduler } from './scheduler.js';
|
|
5
|
+
/**
|
|
6
|
+
* Machine-independent work counters for one statement execution.
|
|
7
|
+
*
|
|
8
|
+
* Every number here is a *count* — executions, input values, output rows — chosen
|
|
9
|
+
* because counts come out identical on every machine and every run of the same plan,
|
|
10
|
+
* where timings do not. `elapsedNs` is deliberately absent: putting a nanosecond
|
|
11
|
+
* figure on a surface whose premise is machine-independence invites exactly the
|
|
12
|
+
* cross-machine comparison this surface exists to replace.
|
|
13
|
+
*
|
|
14
|
+
* Instruction identity is a structural program address (see
|
|
15
|
+
* {@link WorkCounterCollector}), never a plan-node id: `PlanNode.id` is a
|
|
16
|
+
* process-global counter, so two runs of the same query in one process get different
|
|
17
|
+
* ids and any id-derived key would diverge immediately.
|
|
18
|
+
*/
|
|
19
|
+
/** Plan-shape facts, available after compile without executing. */
|
|
20
|
+
export interface PlanShape {
|
|
21
|
+
nodeCount: number;
|
|
22
|
+
/** PlanNodeType -> how many plan nodes of that type. Keys sorted. */
|
|
23
|
+
nodeTypes: Record<string, number>;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Engine-to-module access counts for one table within one execution.
|
|
27
|
+
*
|
|
28
|
+
* These measure the **engine-to-module** boundary — the calls the runtime itself
|
|
29
|
+
* issued — not the **module-to-storage** boundary. A module that swaps 1000 single-key
|
|
30
|
+
* reads for one batched multi-key read moves neither number here: the engine issued the
|
|
31
|
+
* same one `query()` either way. Counting inside a module is a separate instrument
|
|
32
|
+
* (the counting key-value store double in `@quereus/store/testing`).
|
|
33
|
+
*/
|
|
34
|
+
export interface TableWorkCounters {
|
|
35
|
+
/** `query()` calls the engine issued against this table. */
|
|
36
|
+
queryCalls: number;
|
|
37
|
+
/** Rows the engine pulled out of those `query()` calls. */
|
|
38
|
+
rowsScanned: number;
|
|
39
|
+
/** `update()` calls the engine issued — insert, update and delete alike. */
|
|
40
|
+
updateCalls: number;
|
|
41
|
+
}
|
|
42
|
+
/** JSON-serializable snapshot of one execution's work counters: no bigint, no timings. */
|
|
43
|
+
export interface WorkCounterSnapshot {
|
|
44
|
+
/** Plan-shape facts. Available after compile — no execution needed. */
|
|
45
|
+
plan: PlanShape;
|
|
46
|
+
/** One entry per instruction that ran at least once, in program-walk order. */
|
|
47
|
+
instructions: Array<{
|
|
48
|
+
/** Structural address, e.g. `r#12` or `r/12/0#3`. Never contains a plan-node id. */
|
|
49
|
+
key: string;
|
|
50
|
+
/** PlanNodeType, when the instruction came from a plan node. */
|
|
51
|
+
nodeType?: string;
|
|
52
|
+
/** Times this instruction's `run` was invoked. */
|
|
53
|
+
executions: number;
|
|
54
|
+
/**
|
|
55
|
+
* Argument VALUES received, summed over executions — NOT input rows: a
|
|
56
|
+
* streaming argument counts 1 however many rows flow through it (its row
|
|
57
|
+
* count is the producing instruction's `out`). So `in` and `out` of one
|
|
58
|
+
* entry are on different scales; don't read `out/in` as selectivity.
|
|
59
|
+
*/
|
|
60
|
+
in: number;
|
|
61
|
+
/** Rows/values produced, summed over executions — per yield for streams. */
|
|
62
|
+
out: number;
|
|
63
|
+
}>;
|
|
64
|
+
/**
|
|
65
|
+
* Engine-to-module access, keyed `<schema>.<table>` (lowercased), keys sorted.
|
|
66
|
+
*
|
|
67
|
+
* Keyed by TABLE, not by scan site: a self-join scans one table from two sites and
|
|
68
|
+
* both roll into one entry — the per-site breakdown is already in `instructions`.
|
|
69
|
+
* A table the execution never touched is absent (same claim-vs-silence rule the
|
|
70
|
+
* instruction list follows).
|
|
71
|
+
*/
|
|
72
|
+
tables: Record<string, TableWorkCounters>;
|
|
73
|
+
totals: {
|
|
74
|
+
instructionExecutions: number;
|
|
75
|
+
rowsOut: number;
|
|
76
|
+
/** `query()` calls summed over every table. */
|
|
77
|
+
queryCalls: number;
|
|
78
|
+
/** Rows pulled out of those calls, summed over every table. */
|
|
79
|
+
rowsScanned: number;
|
|
80
|
+
/** `update()` calls summed over every table. */
|
|
81
|
+
updateCalls: number;
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
/** Mutable per-instruction counter cell; the scheduler's metrics hooks feed these. */
|
|
85
|
+
export interface WorkCounterSlot {
|
|
86
|
+
/** Structural address (`<program-path>#<instruction-index>`); never a plan-node id. */
|
|
87
|
+
readonly key: string;
|
|
88
|
+
/**
|
|
89
|
+
* PlanNodeType stamped by `emitPlanNode` — the operator that PRODUCED the
|
|
90
|
+
* instruction, so a transparent wrapper (alias, collate, …) reports its source's
|
|
91
|
+
* type. Undefined for synthetic instructions (emitCall callbacks, fused scalars).
|
|
92
|
+
*/
|
|
93
|
+
readonly nodeType: PlanNodeType | undefined;
|
|
94
|
+
executions: number;
|
|
95
|
+
in: number;
|
|
96
|
+
out: number;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Records one instruction output into `slot` and returns the value to park.
|
|
100
|
+
*
|
|
101
|
+
* - An async iterable is wrapped in a counting generator that increments `out` per
|
|
102
|
+
* yield — the scheduler's `countOutputs` reports 1 for a stream, and a "row count"
|
|
103
|
+
* that says 1 for every streaming operator is not a row count.
|
|
104
|
+
* - An array adds its length; everything else adds 1 (matching `countOutputs`).
|
|
105
|
+
*
|
|
106
|
+
* The wrap is skipped only when THIS slot already wrapped the iterable: a
|
|
107
|
+
* pass-through iterable re-counted by a *different* instruction's slot is correct
|
|
108
|
+
* double-wrapping (rows flow through both instructions), not a bug. Metrics mode and
|
|
109
|
+
* tracing mode are mutually exclusive in `Scheduler.run()` (metrics wins), so there
|
|
110
|
+
* is no interplay with the tracing wrapper's own marker symbol.
|
|
111
|
+
*
|
|
112
|
+
* NOTE: the wrap turns a re-iterable output (an object whose `[Symbol.asyncIterator]()`
|
|
113
|
+
* can be called more than once) into a single-shot generator, so a second pass over it
|
|
114
|
+
* would yield nothing WITH METRICS ON only. Safe today: every re-drive in the runtime
|
|
115
|
+
* goes through an `emitCall` callback that returns a fresh iterable per call, so no
|
|
116
|
+
* instruction output is iterated twice. If an emitter ever parks a re-iterable as its
|
|
117
|
+
* output, wrap per `[Symbol.asyncIterator]()` call instead of once per value.
|
|
118
|
+
*/
|
|
119
|
+
export declare function recordOutput(slot: WorkCounterSlot, value: OutputValue): OutputValue;
|
|
120
|
+
/**
|
|
121
|
+
* Per-execution collector of work counters for a root scheduler and every
|
|
122
|
+
* sub-program reachable from it.
|
|
123
|
+
*
|
|
124
|
+
* Built once per statement execution (in `Statement._iterateRowsRawInternal`) and
|
|
125
|
+
* carried on the `RuntimeContext` (fork policy `shared-sink`: forks share it by
|
|
126
|
+
* reference, so counts from a forked branch roll up with no merge step). The
|
|
127
|
+
* scheduler's metrics hooks look up their slot array via {@link countersFor} once
|
|
128
|
+
* per program run.
|
|
129
|
+
*
|
|
130
|
+
* Instruction identity is structural: the root program is `r`, and the scheduler at
|
|
131
|
+
* `instructions[i].programs[j]` of program `P` is addressed `P/i/j`; instruction `i`
|
|
132
|
+
* of a program keys as `<path>#<i>`. This depends only on the shape of the compiled
|
|
133
|
+
* plan — never on execution order, which branch ran, or any plan-node id — so two
|
|
134
|
+
* runs of the same plan produce the same keys on any machine.
|
|
135
|
+
*
|
|
136
|
+
* Unlike `Instruction.runtimeStats` (zeroed per program invocation for the debug
|
|
137
|
+
* log), these slots are NEVER reset mid-execution: a correlated subquery's
|
|
138
|
+
* sub-program driven 100 times reports 100 executions of its inner instructions —
|
|
139
|
+
* the number that makes an N+1 regression visible.
|
|
140
|
+
*/
|
|
141
|
+
export declare class WorkCounterCollector {
|
|
142
|
+
/** Slot arrays keyed by Scheduler identity — root program and every sub-program. */
|
|
143
|
+
private readonly slots;
|
|
144
|
+
/** Every slot in deterministic walk order (each sub-program right after its owning instruction). */
|
|
145
|
+
private readonly walkOrder;
|
|
146
|
+
/**
|
|
147
|
+
* Engine-to-module access cells, keyed `<schema>.<table>` (lowercased) and created
|
|
148
|
+
* on first access. Unlike the instruction slots this is NOT pre-walked: which tables
|
|
149
|
+
* an execution actually touches is a run-time fact (a branch never taken never
|
|
150
|
+
* connects), and an entry that exists means "the engine called this table".
|
|
151
|
+
*/
|
|
152
|
+
private readonly tables;
|
|
153
|
+
constructor(root: Scheduler);
|
|
154
|
+
private walk;
|
|
155
|
+
/** The slot array for one program, index-aligned with `scheduler.instructions`. */
|
|
156
|
+
countersFor(scheduler: Scheduler): WorkCounterSlot[] | undefined;
|
|
157
|
+
/**
|
|
158
|
+
* The engine-to-module cell for one table, created zeroed on first access.
|
|
159
|
+
*
|
|
160
|
+
* `key` must be the lowercased `<schema>.<table>` the table carries AT RUN TIME —
|
|
161
|
+
* the post-remap name when a deferred constraint evaluates a plan frozen before an
|
|
162
|
+
* `ALTER TABLE ... RENAME TO` — so one table never splits across two entries.
|
|
163
|
+
*/
|
|
164
|
+
tableCounters(key: string): TableWorkCounters;
|
|
165
|
+
/**
|
|
166
|
+
* Builds a fresh, by-value snapshot: instructions that never ran are omitted
|
|
167
|
+
* (a missing snapshot and an all-zero one are different claims — see
|
|
168
|
+
* `Statement.getWorkCounters`), and totals sum over the included entries only.
|
|
169
|
+
* Table entries exist only for tables the engine actually called, on the same rule.
|
|
170
|
+
*/
|
|
171
|
+
snapshot(plan: PlanShape): WorkCounterSnapshot;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Counts plan nodes and their types with an iterative walk over `getChildren()` and
|
|
175
|
+
* a visited set — NOT `PlanNode.visit()`, which deliberately visits a DAG node once
|
|
176
|
+
* per *path* and would double-count shared subtrees (inflating `nodeCount`
|
|
177
|
+
* nondeterministically-looking across otherwise-identical plans).
|
|
178
|
+
*/
|
|
179
|
+
export declare function computePlanShape(root: PlanNode): PlanShape;
|
|
180
|
+
//# sourceMappingURL=work-counters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"work-counters.d.ts","sourceRoot":"","sources":["../../../src/runtime/work-counters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGhD;;;;;;;;;;;;;GAaG;AAEH,mEAAmE;AACnE,MAAM,WAAW,SAAS;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IACjC,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,0FAA0F;AAC1F,MAAM,WAAW,mBAAmB;IACnC,uEAAuE;IACvE,IAAI,EAAE,SAAS,CAAC;IAChB,+EAA+E;IAC/E,YAAY,EAAE,KAAK,CAAC;QACnB,oFAAoF;QACpF,GAAG,EAAE,MAAM,CAAC;QACZ,gEAAgE;QAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,kDAAkD;QAClD,UAAU,EAAE,MAAM,CAAC;QACnB;;;;;WAKG;QACH,EAAE,EAAE,MAAM,CAAC;QACX,4EAA4E;QAC5E,GAAG,EAAE,MAAM,CAAC;KACZ,CAAC,CAAC;IACH;;;;;;;OAOG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC1C,MAAM,EAAE;QACP,qBAAqB,EAAE,MAAM,CAAC;QAC9B,OAAO,EAAE,MAAM,CAAC;QAChB,+CAA+C;QAC/C,UAAU,EAAE,MAAM,CAAC;QACnB,+DAA+D;QAC/D,WAAW,EAAE,MAAM,CAAC;QACpB,gDAAgD;QAChD,WAAW,EAAE,MAAM,CAAC;KACpB,CAAC;CACF;AAED,sFAAsF;AACtF,MAAM,WAAW,eAAe;IAC/B,uFAAuF;IACvF,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAC;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;CACZ;AAKD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,WAAW,GAAG,WAAW,CAqBnF;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,oBAAoB;IAChC,oFAAoF;IACpF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2C;IACjE,oGAAoG;IACpG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;gBAEnD,IAAI,EAAE,SAAS;IAI3B,OAAO,CAAC,IAAI;IAgCZ,mFAAmF;IACnF,WAAW,CAAC,SAAS,EAAE,SAAS,GAAG,eAAe,EAAE,GAAG,SAAS;IAIhE;;;;;;OAMG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB;IAS7C;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,mBAAmB;CAwC9C;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,CAoB1D"}
|