@rocicorp/zero 0.23.2025081400 → 0.23.2025081900

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.
Files changed (203) hide show
  1. package/out/analyze-query/src/bin-analyze.d.ts.map +1 -1
  2. package/out/analyze-query/src/bin-analyze.js +56 -99
  3. package/out/analyze-query/src/bin-analyze.js.map +1 -1
  4. package/out/analyze-query/src/explain-queries.d.ts +4 -0
  5. package/out/analyze-query/src/explain-queries.d.ts.map +1 -0
  6. package/out/analyze-query/src/explain-queries.js +18 -0
  7. package/out/analyze-query/src/explain-queries.js.map +1 -0
  8. package/out/analyze-query/src/run-ast.d.ts +29 -0
  9. package/out/analyze-query/src/run-ast.d.ts.map +1 -0
  10. package/out/analyze-query/src/run-ast.js +68 -0
  11. package/out/analyze-query/src/run-ast.js.map +1 -0
  12. package/out/{chunk-O536GEIT.js → chunk-RPVWLROJ.js} +80 -35
  13. package/out/{chunk-O536GEIT.js.map → chunk-RPVWLROJ.js.map} +3 -3
  14. package/out/{chunk-JHJ3MBXW.js → chunk-ZKQCPILX.js} +55 -58
  15. package/out/chunk-ZKQCPILX.js.map +7 -0
  16. package/out/{chunk-ZKRMVMWK.js → chunk-ZZJ2SCHD.js} +124 -63
  17. package/out/{chunk-ZKRMVMWK.js.map → chunk-ZZJ2SCHD.js.map} +4 -4
  18. package/out/{inspector-J5P4DOGH.js → inspector-NC47TWFX.js} +4 -3
  19. package/out/{inspector-J5P4DOGH.js.map → inspector-NC47TWFX.js.map} +2 -2
  20. package/out/react.js +2 -2
  21. package/out/solid.js +3 -3
  22. package/out/zero/package.json +1 -1
  23. package/out/zero/src/server/reaper.d.ts +2 -0
  24. package/out/zero/src/server/reaper.d.ts.map +1 -0
  25. package/out/zero/src/server/reaper.js +2 -0
  26. package/out/zero/src/server/reaper.js.map +1 -0
  27. package/out/zero-cache/src/auth/write-authorizer.d.ts.map +1 -1
  28. package/out/zero-cache/src/auth/write-authorizer.js +2 -3
  29. package/out/zero-cache/src/auth/write-authorizer.js.map +1 -1
  30. package/out/zero-cache/src/config/zero-config.d.ts +4 -0
  31. package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
  32. package/out/zero-cache/src/config/zero-config.js +9 -1
  33. package/out/zero-cache/src/config/zero-config.js.map +1 -1
  34. package/out/zero-cache/src/custom-queries/transform-query.d.ts +2 -3
  35. package/out/zero-cache/src/custom-queries/transform-query.d.ts.map +1 -1
  36. package/out/zero-cache/src/custom-queries/transform-query.js +18 -4
  37. package/out/zero-cache/src/custom-queries/transform-query.js.map +1 -1
  38. package/out/zero-cache/src/observability/events.d.ts.map +1 -1
  39. package/out/zero-cache/src/observability/events.js +3 -3
  40. package/out/zero-cache/src/observability/events.js.map +1 -1
  41. package/out/zero-cache/src/server/inspect-metrics-delegate.d.ts +23 -0
  42. package/out/zero-cache/src/server/inspect-metrics-delegate.d.ts.map +1 -0
  43. package/out/zero-cache/src/server/inspect-metrics-delegate.js +55 -0
  44. package/out/zero-cache/src/server/inspect-metrics-delegate.js.map +1 -0
  45. package/out/zero-cache/src/server/main.d.ts.map +1 -1
  46. package/out/zero-cache/src/server/main.js +12 -15
  47. package/out/zero-cache/src/server/main.js.map +1 -1
  48. package/out/zero-cache/src/server/reaper.d.ts +3 -0
  49. package/out/zero-cache/src/server/reaper.d.ts.map +1 -0
  50. package/out/zero-cache/src/server/reaper.js +31 -0
  51. package/out/zero-cache/src/server/reaper.js.map +1 -0
  52. package/out/zero-cache/src/server/runner/zero-dispatcher.d.ts.map +1 -1
  53. package/out/zero-cache/src/server/runner/zero-dispatcher.js +6 -0
  54. package/out/zero-cache/src/server/runner/zero-dispatcher.js.map +1 -1
  55. package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
  56. package/out/zero-cache/src/server/syncer.js +3 -1
  57. package/out/zero-cache/src/server/syncer.js.map +1 -1
  58. package/out/zero-cache/src/services/analyze.d.ts +6 -0
  59. package/out/zero-cache/src/services/analyze.d.ts.map +1 -0
  60. package/out/zero-cache/src/services/analyze.js +70 -0
  61. package/out/zero-cache/src/services/analyze.js.map +1 -0
  62. package/out/zero-cache/src/services/change-source/custom/change-source.js +1 -1
  63. package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts.map +1 -1
  64. package/out/zero-cache/src/services/change-source/pg/initial-sync.js +8 -3
  65. package/out/zero-cache/src/services/change-source/pg/initial-sync.js.map +1 -1
  66. package/out/zero-cache/src/services/mutagen/pusher.d.ts +38 -2
  67. package/out/zero-cache/src/services/mutagen/pusher.d.ts.map +1 -1
  68. package/out/zero-cache/src/services/replicator/change-processor.d.ts +3 -2
  69. package/out/zero-cache/src/services/replicator/change-processor.d.ts.map +1 -1
  70. package/out/zero-cache/src/services/replicator/change-processor.js +39 -34
  71. package/out/zero-cache/src/services/replicator/change-processor.js.map +1 -1
  72. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts.map +1 -1
  73. package/out/zero-cache/src/services/replicator/incremental-sync.js +1 -3
  74. package/out/zero-cache/src/services/replicator/incremental-sync.js.map +1 -1
  75. package/out/zero-cache/src/services/replicator/replication-status.js +1 -1
  76. package/out/zero-cache/src/services/replicator/replication-status.js.map +1 -1
  77. package/out/zero-cache/src/services/running-state.d.ts +5 -0
  78. package/out/zero-cache/src/services/running-state.d.ts.map +1 -1
  79. package/out/zero-cache/src/services/running-state.js +8 -1
  80. package/out/zero-cache/src/services/running-state.js.map +1 -1
  81. package/out/zero-cache/src/services/view-syncer/client-handler.d.ts +2 -0
  82. package/out/zero-cache/src/services/view-syncer/client-handler.d.ts.map +1 -1
  83. package/out/zero-cache/src/services/view-syncer/client-handler.js +3 -0
  84. package/out/zero-cache/src/services/view-syncer/client-handler.js.map +1 -1
  85. package/out/zero-cache/src/services/view-syncer/cvr-purger.d.ts +16 -0
  86. package/out/zero-cache/src/services/view-syncer/cvr-purger.d.ts.map +1 -0
  87. package/out/zero-cache/src/services/view-syncer/cvr-purger.js +86 -0
  88. package/out/zero-cache/src/services/view-syncer/cvr-purger.js.map +1 -0
  89. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts +16 -9
  90. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +1 -1
  91. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +50 -30
  92. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
  93. package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts.map +1 -1
  94. package/out/zero-cache/src/services/view-syncer/schema/cvr.js +36 -26
  95. package/out/zero-cache/src/services/view-syncer/schema/cvr.js.map +1 -1
  96. package/out/zero-cache/src/services/view-syncer/schema/init.d.ts.map +1 -1
  97. package/out/zero-cache/src/services/view-syncer/schema/init.js +27 -0
  98. package/out/zero-cache/src/services/view-syncer/schema/init.js.map +1 -1
  99. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +2 -9
  100. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
  101. package/out/zero-cache/src/services/view-syncer/view-syncer.js +93 -75
  102. package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
  103. package/out/zero-cache/src/types/pg.d.ts +1 -1
  104. package/out/zero-cache/src/types/pg.js +1 -1
  105. package/out/zero-client/src/client/context.d.ts +1 -0
  106. package/out/zero-client/src/client/context.d.ts.map +1 -1
  107. package/out/zero-client/src/client/inspector/inspector.d.ts.map +1 -1
  108. package/out/zero-client/src/client/inspector/types.d.ts +1 -0
  109. package/out/zero-client/src/client/inspector/types.d.ts.map +1 -1
  110. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  111. package/out/zero-client/src/mod.d.ts +1 -1
  112. package/out/zero-client/src/mod.d.ts.map +1 -1
  113. package/out/zero-events/src/status.d.ts +10 -9
  114. package/out/zero-events/src/status.d.ts.map +1 -1
  115. package/out/zero-events/src/status.js +7 -10
  116. package/out/zero-events/src/status.js.map +1 -1
  117. package/out/zero-protocol/src/custom-queries.d.ts +77 -5
  118. package/out/zero-protocol/src/custom-queries.d.ts.map +1 -1
  119. package/out/zero-protocol/src/custom-queries.js +19 -1
  120. package/out/zero-protocol/src/custom-queries.js.map +1 -1
  121. package/out/zero-protocol/src/down.d.ts +19 -1
  122. package/out/zero-protocol/src/down.d.ts.map +1 -1
  123. package/out/zero-protocol/src/down.js +2 -1
  124. package/out/zero-protocol/src/down.js.map +1 -1
  125. package/out/zero-protocol/src/inspect-down.d.ts +8 -0
  126. package/out/zero-protocol/src/inspect-down.d.ts.map +1 -1
  127. package/out/zero-protocol/src/inspect-down.js +1 -0
  128. package/out/zero-protocol/src/inspect-down.js.map +1 -1
  129. package/out/zero-protocol/src/protocol-version.d.ts +1 -1
  130. package/out/zero-protocol/src/protocol-version.d.ts.map +1 -1
  131. package/out/zero-protocol/src/protocol-version.js +3 -1
  132. package/out/zero-protocol/src/protocol-version.js.map +1 -1
  133. package/out/zero-server/src/mod.d.ts +1 -0
  134. package/out/zero-server/src/mod.d.ts.map +1 -1
  135. package/out/zero-server/src/mod.js +1 -0
  136. package/out/zero-server/src/mod.js.map +1 -1
  137. package/out/zero-server/src/process-mutations.d.ts +46 -0
  138. package/out/zero-server/src/process-mutations.d.ts.map +1 -0
  139. package/out/zero-server/src/process-mutations.js +187 -0
  140. package/out/zero-server/src/process-mutations.js.map +1 -0
  141. package/out/zero-server/src/push-processor.d.ts +2 -27
  142. package/out/zero-server/src/push-processor.d.ts.map +1 -1
  143. package/out/zero-server/src/push-processor.js +17 -154
  144. package/out/zero-server/src/push-processor.js.map +1 -1
  145. package/out/zero-server/src/queries/process-queries.d.ts +1 -1
  146. package/out/zero-server/src/queries/process-queries.d.ts.map +1 -1
  147. package/out/zero-server/src/queries/process-queries.js +1 -1
  148. package/out/zero-server/src/queries/process-queries.js.map +1 -1
  149. package/out/zero-server/src/zql-database.d.ts +1 -1
  150. package/out/zero-server/src/zql-database.d.ts.map +1 -1
  151. package/out/zero.js +14 -10
  152. package/out/zql/src/builder/builder.d.ts +5 -1
  153. package/out/zql/src/builder/builder.d.ts.map +1 -1
  154. package/out/zql/src/builder/builder.js +49 -16
  155. package/out/zql/src/builder/builder.js.map +1 -1
  156. package/out/zql/src/builder/debug-delegate.d.ts +29 -0
  157. package/out/zql/src/builder/debug-delegate.d.ts.map +1 -0
  158. package/out/zql/src/builder/debug-delegate.js +55 -0
  159. package/out/zql/src/builder/debug-delegate.js.map +1 -0
  160. package/out/zql/src/builder/filter.d.ts +0 -3
  161. package/out/zql/src/builder/filter.d.ts.map +1 -1
  162. package/out/zql/src/builder/filter.js +0 -3
  163. package/out/zql/src/builder/filter.js.map +1 -1
  164. package/out/zql/src/ivm/filter-operators.d.ts +2 -1
  165. package/out/zql/src/ivm/filter-operators.d.ts.map +1 -1
  166. package/out/zql/src/ivm/filter-operators.js +7 -2
  167. package/out/zql/src/ivm/filter-operators.js.map +1 -1
  168. package/out/zql/src/ivm/memory-source.d.ts +2 -0
  169. package/out/zql/src/ivm/memory-source.d.ts.map +1 -1
  170. package/out/zql/src/ivm/memory-source.js.map +1 -1
  171. package/out/zql/src/ivm/source.d.ts +2 -1
  172. package/out/zql/src/ivm/source.d.ts.map +1 -1
  173. package/out/zql/src/query/measure-push-operator.d.ts +19 -0
  174. package/out/zql/src/query/measure-push-operator.d.ts.map +1 -0
  175. package/out/zql/src/query/measure-push-operator.js +36 -0
  176. package/out/zql/src/query/measure-push-operator.js.map +1 -0
  177. package/out/zql/src/query/metrics-delegate.d.ts +3 -0
  178. package/out/zql/src/query/metrics-delegate.d.ts.map +1 -1
  179. package/out/zql/src/query/metrics-delegate.js +6 -1
  180. package/out/zql/src/query/metrics-delegate.js.map +1 -1
  181. package/out/zql/src/query/named.d.ts +38 -9
  182. package/out/zql/src/query/named.d.ts.map +1 -1
  183. package/out/zql/src/query/named.js +49 -24
  184. package/out/zql/src/query/named.js.map +1 -1
  185. package/out/zql/src/query/query-impl.d.ts +1 -1
  186. package/out/zql/src/query/query-impl.d.ts.map +1 -1
  187. package/out/zql/src/query/query-impl.js.map +1 -1
  188. package/out/zqlite/src/query-delegate.d.ts +1 -0
  189. package/out/zqlite/src/query-delegate.d.ts.map +1 -1
  190. package/out/zqlite/src/query-delegate.js +2 -1
  191. package/out/zqlite/src/query-delegate.js.map +1 -1
  192. package/out/zqlite/src/table-source.d.ts +3 -2
  193. package/out/zqlite/src/table-source.d.ts.map +1 -1
  194. package/out/zqlite/src/table-source.js +8 -10
  195. package/out/zqlite/src/table-source.js.map +1 -1
  196. package/package.json +1 -1
  197. package/out/chunk-JHJ3MBXW.js.map +0 -7
  198. package/out/zero-client/src/client/measure-push-operator.d.ts +0 -17
  199. package/out/zero-client/src/client/measure-push-operator.d.ts.map +0 -1
  200. package/out/zqlite/src/runtime-debug.d.ts +0 -23
  201. package/out/zqlite/src/runtime-debug.d.ts.map +0 -1
  202. package/out/zqlite/src/runtime-debug.js +0 -69
  203. package/out/zqlite/src/runtime-debug.js.map +0 -1
@@ -6,6 +6,7 @@ import type { Input } from '../../../../zql/src/ivm/operator.ts';
6
6
  import { type LoadedPermissions } from '../../auth/load-permissions.ts';
7
7
  import type { LogConfig } from '../../config/zero-config.ts';
8
8
  import type { LiteAndZqlSpec } from '../../db/specs.ts';
9
+ import type { InspectMetricsDelegate } from '../../server/inspect-metrics-delegate.ts';
9
10
  import type { RowKey } from '../../types/row-key.ts';
10
11
  import type { SchemaVersions } from '../../types/schema-versions.ts';
11
12
  import type { ShardID } from '../../types/shards.ts';
@@ -38,7 +39,7 @@ export type RowChange = RowAdd | RowRemove | RowEdit;
38
39
  */
39
40
  export declare class PipelineDriver {
40
41
  #private;
41
- constructor(lc: LogContext, logConfig: LogConfig, snapshotter: Snapshotter, shardID: ShardID, storage: ClientGroupStorage, clientGroupID: string);
42
+ constructor(lc: LogContext, logConfig: LogConfig, snapshotter: Snapshotter, shardID: ShardID, storage: ClientGroupStorage, clientGroupID: string, inspectMetricsDelegate: InspectMetricsDelegate);
42
43
  /**
43
44
  * Initializes the PipelineDriver to the current head of the database.
44
45
  * Queries can then be added (i.e. hydrated) with {@link addQuery()}.
@@ -81,24 +82,30 @@ export declare class PipelineDriver {
81
82
  */
82
83
  destroy(): void;
83
84
  /** @return The Set of query hashes for all added queries. */
84
- addedQueries(): Set<string>;
85
+ addedQueries(): [
86
+ transformationHashes: Set<string>,
87
+ byOriginalHash: Map<string, {
88
+ transformationHash: string;
89
+ transformedAst: AST;
90
+ }[]>
91
+ ];
85
92
  totalHydrationTimeMs(): number;
86
93
  /**
87
- * Adds a pipeline for the query. The method will hydrated the query using
88
- * the the driver's current snapshot of the database and return a stream
89
- * of results. Henceforth, updates to the query will be returned when the
90
- * driver is {@link advance}d. The query and its pipeline can be removed with
94
+ * Adds a pipeline for the query. The method will hydrate the query using the
95
+ * driver's current snapshot of the database and return a stream of results.
96
+ * Henceforth, updates to the query will be returned when the driver is
97
+ * {@link advance}d. The query and its pipeline can be removed with
91
98
  * {@link removeQuery()}.
92
99
  *
93
- * If a query with an identical hash has already been added, this method
94
- * is a no-op and no RowChanges are generated.
100
+ * If a query with an identical hash has already been added, this method is a
101
+ * no-op and no RowChanges are generated.
95
102
  *
96
103
  * @param timer The caller-controlled {@link Timer} used to determine the
97
104
  * final hydration time. (The caller may pause and resume the timer
98
105
  * when yielding the thread for time-slicing).
99
106
  * @return The rows from the initial hydration of the query.
100
107
  */
101
- addQuery(hash: string, query: AST, timer: {
108
+ addQuery(transformationHash: string, queryID: string, query: AST, timer: {
102
109
  totalElapsed: () => number;
103
110
  }): Iterable<RowChange>;
104
111
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline-driver.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/pipeline-driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline-driver.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/pipeline-driver.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,8 @@ import { assert, unreachable } from "../../../../shared/src/asserts.js";
3
3
  import { deepEqual } from "../../../../shared/src/json.js";
4
4
  import { must } from "../../../../shared/src/must.js";
5
5
  import { buildPipeline } from "../../../../zql/src/builder/builder.js";
6
- import { runtimeDebugFlags, runtimeDebugStats, } from "../../../../zqlite/src/runtime-debug.js";
6
+ import { Debug, runtimeDebugFlags, } from "../../../../zql/src/builder/debug-delegate.js";
7
+ import { MeasurePushOperator } from "../../../../zql/src/query/measure-push-operator.js";
7
8
  import { TableSource } from "../../../../zqlite/src/table-source.js";
8
9
  import { reloadPermissionsIfChanged, } from "../../auth/load-permissions.js";
9
10
  import { computeZqlSpecs } from "../../db/lite-tables.js";
@@ -16,12 +17,14 @@ import { ResetPipelinesSignal, Snapshotter, } from "./snapshotter.js";
16
17
  */
17
18
  export class PipelineDriver {
18
19
  #tables = new Map();
20
+ // We probs need the original query hash
21
+ // so we can decide not to re-transform a custom query
22
+ // that is already hydrated.
19
23
  #pipelines = new Map();
20
24
  #lc;
21
25
  #snapshotter;
22
26
  #storage;
23
27
  #shardID;
24
- #clientGroupID;
25
28
  #logConfig;
26
29
  #tableSpecs = new Map();
27
30
  #streamer = null;
@@ -31,13 +34,14 @@ export class PipelineDriver {
31
34
  description: 'Time to advance all queries for a given client group for in response to a single change.',
32
35
  unit: 's',
33
36
  });
34
- constructor(lc, logConfig, snapshotter, shardID, storage, clientGroupID) {
37
+ #inspectMetricsDelegate;
38
+ constructor(lc, logConfig, snapshotter, shardID, storage, clientGroupID, inspectMetricsDelegate) {
35
39
  this.#lc = lc.withContext('clientGroupID', clientGroupID);
36
40
  this.#snapshotter = snapshotter;
37
41
  this.#storage = storage;
38
42
  this.#shardID = shardID;
39
- this.#clientGroupID = clientGroupID;
40
43
  this.#logConfig = logConfig;
44
+ this.#inspectMetricsDelegate = inspectMetricsDelegate;
41
45
  }
42
46
  /**
43
47
  * Initializes the PipelineDriver to the current head of the database.
@@ -133,7 +137,18 @@ export class PipelineDriver {
133
137
  }
134
138
  /** @return The Set of query hashes for all added queries. */
135
139
  addedQueries() {
136
- return new Set(this.#pipelines.keys());
140
+ const byOriginalHash = new Map();
141
+ for (const pipeline of this.#pipelines.values()) {
142
+ const { originalHash, transformedAst, transformationHash } = pipeline;
143
+ if (!byOriginalHash.has(originalHash)) {
144
+ byOriginalHash.set(originalHash, []);
145
+ }
146
+ byOriginalHash.get(originalHash).push({
147
+ transformationHash,
148
+ transformedAst,
149
+ });
150
+ }
151
+ return [new Set(this.#pipelines.keys()), byOriginalHash];
137
152
  }
138
153
  totalHydrationTimeMs() {
139
154
  let total = 0;
@@ -143,69 +158,74 @@ export class PipelineDriver {
143
158
  return total;
144
159
  }
145
160
  /**
146
- * Adds a pipeline for the query. The method will hydrated the query using
147
- * the the driver's current snapshot of the database and return a stream
148
- * of results. Henceforth, updates to the query will be returned when the
149
- * driver is {@link advance}d. The query and its pipeline can be removed with
161
+ * Adds a pipeline for the query. The method will hydrate the query using the
162
+ * driver's current snapshot of the database and return a stream of results.
163
+ * Henceforth, updates to the query will be returned when the driver is
164
+ * {@link advance}d. The query and its pipeline can be removed with
150
165
  * {@link removeQuery()}.
151
166
  *
152
- * If a query with an identical hash has already been added, this method
153
- * is a no-op and no RowChanges are generated.
167
+ * If a query with an identical hash has already been added, this method is a
168
+ * no-op and no RowChanges are generated.
154
169
  *
155
170
  * @param timer The caller-controlled {@link Timer} used to determine the
156
171
  * final hydration time. (The caller may pause and resume the timer
157
172
  * when yielding the thread for time-slicing).
158
173
  * @return The rows from the initial hydration of the query.
159
174
  */
160
- *addQuery(hash, query, timer) {
175
+ *addQuery(transformationHash, queryID, query, timer) {
161
176
  assert(this.initialized());
162
- if (this.#pipelines.has(hash)) {
163
- this.#lc.info?.(`query ${hash} already added`, query);
177
+ this.#inspectMetricsDelegate.addQueryMapping(transformationHash, queryID);
178
+ if (this.#pipelines.has(transformationHash)) {
179
+ this.#lc.info?.(`query ${transformationHash} already added`, query);
164
180
  return;
165
181
  }
182
+ const debugDelegate = runtimeDebugFlags.trackRowsVended
183
+ ? new Debug()
184
+ : undefined;
166
185
  const input = buildPipeline(query, {
186
+ debug: debugDelegate,
167
187
  getSource: name => this.#getSource(name),
168
188
  createStorage: () => this.#createStorage(),
169
- decorateSourceInput: input => input,
189
+ decorateSourceInput: (input, _queryID) => new MeasurePushOperator(input, transformationHash, this.#inspectMetricsDelegate, 'query-update-server'),
170
190
  decorateInput: input => input,
191
+ addEdge() { },
171
192
  decorateFilterInput: input => input,
172
- }, hash);
193
+ }, queryID);
173
194
  const schema = input.getSchema();
174
195
  input.setOutput({
175
196
  push: change => {
176
197
  const streamer = this.#streamer;
177
198
  assert(streamer, 'must #startAccumulating() before pushing changes');
178
- streamer.accumulate(hash, schema, [change]);
199
+ streamer.accumulate(transformationHash, schema, [change]);
179
200
  },
180
201
  });
181
- runtimeDebugStats.resetRowsVended(this.#clientGroupID);
182
- yield* hydrate(input, hash, this.#tableSpecs);
202
+ yield* hydrate(input, transformationHash, this.#tableSpecs);
183
203
  const hydrationTimeMs = timer.totalElapsed();
184
204
  if (runtimeDebugFlags.trackRowCountsVended) {
185
205
  if (hydrationTimeMs > this.#logConfig.slowHydrateThreshold) {
186
206
  let totalRowsConsidered = 0;
187
207
  const lc = this.#lc
188
- .withContext('hash', hash)
208
+ .withContext('hash', transformationHash)
189
209
  .withContext('hydrationTimeMs', hydrationTimeMs);
190
210
  for (const tableName of this.#tables.keys()) {
191
- const entries = [
192
- ...(runtimeDebugStats
193
- .getVendedRowCounts()
194
- .get(this.#clientGroupID)
195
- ?.get(tableName)
196
- ?.entries() ?? []),
197
- ];
211
+ const entries = Object.entries(debugDelegate?.getVendedRowCounts()[tableName] ?? {});
198
212
  totalRowsConsidered += entries.reduce((acc, entry) => acc + entry[1], 0);
199
213
  lc.info?.(tableName + ' VENDED: ', entries);
200
214
  }
201
215
  lc.info?.(`Total rows considered: ${totalRowsConsidered}`);
202
216
  }
203
217
  }
204
- runtimeDebugStats.resetRowsVended(this.#clientGroupID);
218
+ debugDelegate?.reset();
205
219
  // Note: This hydrationTime is a wall-clock overestimate, as it does
206
220
  // not take time slicing into account. The view-syncer resets this
207
221
  // to a more precise processing-time measurement with setHydrationTime().
208
- this.#pipelines.set(hash, { input, hydrationTimeMs });
222
+ this.#pipelines.set(transformationHash, {
223
+ input,
224
+ hydrationTimeMs,
225
+ originalHash: queryID,
226
+ transformedAst: query,
227
+ transformationHash,
228
+ });
209
229
  }
210
230
  /**
211
231
  * Removes the pipeline for the query. This is a no-op if the query
@@ -338,7 +358,7 @@ export class PipelineDriver {
338
358
  const { primaryKey } = tableSpec.tableSpec;
339
359
  assert(primaryKey?.length);
340
360
  const { db } = this.#snapshotter.current();
341
- source = new TableSource(this.#lc, this.#logConfig, this.#clientGroupID, db.db, tableName, tableSpec.zqlSpec, [primaryKey[0], ...primaryKey.slice(1)]);
361
+ source = new TableSource(this.#lc, this.#logConfig, db.db, tableName, tableSpec.zqlSpec, [primaryKey[0], ...primaryKey.slice(1)]);
342
362
  this.#tables.set(tableName, source);
343
363
  this.#lc.debug?.(`created TableSource for ${tableName}`);
344
364
  return source;
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline-driver.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/pipeline-driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline-driver.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/pipeline-driver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cvr.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/view-syncer/schema/cvr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cvr.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/view-syncer/schema/cvr.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,10 @@ CREATE TABLE ${schema(shard)}.instances (
23
23
  "grantedAt" TIMESTAMPTZ, -- The time at which the current owner was last granted ownership (most recent connection time).
24
24
  "clientSchema" JSONB -- ClientSchema of the client group
25
25
  );
26
+
27
+ -- For garbage collection.
28
+ CREATE INDEX instances_last_active
29
+ ON ${schema(shard)}.instances ("lastActive");
26
30
  `;
27
31
  }
28
32
  export function compareInstancesRows(a, b) {
@@ -39,6 +43,7 @@ CREATE TABLE ${schema(shard)}.clients (
39
43
  CONSTRAINT fk_clients_client_group
40
44
  FOREIGN KEY("clientGroupID")
41
45
  REFERENCES ${schema(shard)}.instances("clientGroupID")
46
+ ON DELETE CASCADE
42
47
  );
43
48
 
44
49
  `;
@@ -69,6 +74,7 @@ CREATE TABLE ${schema(shard)}.queries (
69
74
  CONSTRAINT fk_queries_client_group
70
75
  FOREIGN KEY("clientGroupID")
71
76
  REFERENCES ${schema(shard)}.instances("clientGroupID")
77
+ ON DELETE CASCADE
72
78
  );
73
79
 
74
80
  -- For catchup patches.
@@ -163,11 +169,33 @@ export function compareRowsRows(a, b) {
163
169
  return stringCompare(stringifySorted(a.rowKey), stringifySorted(b.rowKey));
164
170
  }
165
171
  /**
172
+ * The version of the data in the `cvr.rows` table. This may lag
173
+ * `version` in `cvr.instances` but eventually catches up, modulo
174
+ * exceptional circumstances like a server crash.
175
+ *
176
+ * The `rowsVersion` is tracked in a separate table (as opposed to
177
+ * a column in the `cvr.instances` table) so that general `cvr` updates
178
+ * and `row` updates can be executed independently without serialization
179
+ * conflicts.
180
+ *
166
181
  * Note: Although `clientGroupID` logically references the same column in
167
182
  * `cvr.instances`, a FOREIGN KEY constraint must not be declared as the
168
183
  * `cvr.rows` TABLE needs to be updated without affecting the
169
184
  * `SELECT ... FOR UPDATE` lock when `cvr.instances` is updated.
170
185
  */
186
+ export function createRowsVersionTable(shard) {
187
+ return `
188
+ CREATE TABLE ${schema(shard)}."rowsVersion" (
189
+ "clientGroupID" TEXT PRIMARY KEY,
190
+ "version" TEXT NOT NULL
191
+ );
192
+ `;
193
+ }
194
+ /**
195
+ * CVR `rows` are updated asynchronously from the CVR metadata
196
+ * (i.e. `instances`). The `rowsVersion` table is updated atomically with
197
+ * updates to the `rows` data.
198
+ */
171
199
  function createRowsTable(shard) {
172
200
  return `
173
201
  CREATE TABLE ${schema(shard)}.rows (
@@ -179,7 +207,12 @@ CREATE TABLE ${schema(shard)}.rows (
179
207
  "patchVersion" TEXT NOT NULL,
180
208
  "refCounts" JSONB, -- {[queryHash: string]: number}, NULL for tombstone
181
209
 
182
- PRIMARY KEY ("clientGroupID", "schema", "table", "rowKey")
210
+ PRIMARY KEY ("clientGroupID", "schema", "table", "rowKey"),
211
+
212
+ CONSTRAINT fk_rows_client_group
213
+ FOREIGN KEY("clientGroupID")
214
+ REFERENCES ${schema(shard)}."rowsVersion" ("clientGroupID")
215
+ ON DELETE CASCADE
183
216
  );
184
217
 
185
218
  -- For catchup patches.
@@ -192,37 +225,14 @@ CREATE INDEX row_ref_counts ON ${schema(shard)}.rows
192
225
  USING GIN ("refCounts");
193
226
  `;
194
227
  }
195
- /**
196
- * The version of the data in the `cvr.rows` table. This may lag
197
- * `version` in `cvr.instances` but eventually catches up, modulo
198
- * exceptional circumstances like a server crash.
199
- *
200
- * The `rowsVersion` is tracked in a separate table (as opposed to
201
- * a column in the `cvr.instances` table) so that general `cvr` updates
202
- * and `row` updates can be executed independently without serialization
203
- * conflicts.
204
- *
205
- * Note: Although `clientGroupID` logically references the same column in
206
- * `cvr.instances`, a FOREIGN KEY constraint must not be declared as the
207
- * `cvr.rows` TABLE needs to be updated without affecting the
208
- * `SELECT ... FOR UPDATE` lock when `cvr.instances` is updated.
209
- */
210
- export function createRowsVersionTable(shard) {
211
- return `
212
- CREATE TABLE ${schema(shard)}."rowsVersion" (
213
- "clientGroupID" TEXT PRIMARY KEY,
214
- "version" TEXT NOT NULL
215
- );
216
- `;
217
- }
218
228
  function createTables(shard) {
219
229
  return (createSchema(shard) +
220
230
  createInstancesTable(shard) +
221
231
  createClientsTable(shard) +
222
232
  createQueriesTable(shard) +
223
233
  createDesiresTable(shard) +
224
- createRowsTable(shard) +
225
- createRowsVersionTable(shard));
234
+ createRowsVersionTable(shard) +
235
+ createRowsTable(shard));
226
236
  }
227
237
  export async function setupCVRTables(lc, db, shard) {
228
238
  lc.info?.(`Setting up CVR tables`);
@@ -1 +1 @@
1
- {"version":3,"file":"cvr.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/view-syncer/schema/cvr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cvr.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/view-syncer/schema/cvr.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,EAAC,MAAM,WAAW,CAAC;AAEhC,OAAO,EAGL,SAAS,GACV,MAAM,0CAA0C,CAAC;AAElD,OAAO,EAAC,aAAa,EAAC,MAAM,6CAA6C,CAAC;AAE1E,OAAO,EAAC,kBAAkB,EAAc,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAC,SAAS,EAAe,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EAGL,iBAAiB,EACjB,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,yCAAyC;AACzC,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,+BAA+B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;AACzD,CAAC;AAaD,SAAS,oBAAoB,CAAC,KAAc;IAC1C,OAAO;eACM,MAAM,CAAC,KAAK,CAAC;;;;;;;;;;;;;OAarB,MAAM,CAAC,KAAK,CAAC;CACnB,CAAC;AACF,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,CAAe,EAAE,CAAe;IACnE,OAAO,aAAa,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC;AACzD,CAAC;AAOD,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO;eACM,MAAM,CAAC,KAAK,CAAC;;;;;;;;iBAQX,MAAM,CAAC,KAAK,CAAC;;;;CAI7B,CAAC;AACF,CAAC;AACD,MAAM,UAAU,kBAAkB,CAAC,CAAa,EAAE,CAAa;IAC7D,MAAM,iBAAiB,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC;IAC1E,IAAI,iBAAiB,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,OAAO,aAAa,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC/C,CAAC;AAgBD,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO;eACM,MAAM,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;iBAgBX,MAAM,CAAC,KAAK,CAAC;;;;;;OAMvB,MAAM,CAAC,KAAK,CAAC;CACnB,CAAC;AACF,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,CAAa,EAAE,CAAa;IAC7D,MAAM,iBAAiB,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC;IAC1E,IAAI,iBAAiB,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,OAAO,aAAa,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;AACjD,CAAC;AAYD,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO;eACM,MAAM,CAAC,KAAK,CAAC;;;;;;;;;;;;;iBAaX,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;;;;;;OAMjC,MAAM,CAAC,KAAK,CAAC;;;OAGb,MAAM,CAAC,KAAK,CAAC;CACnB,CAAC;AACF,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,CAAa,EAAE,CAAa;IAC7D,MAAM,iBAAiB,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC;IAC1E,IAAI,iBAAiB,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC3D,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,OAAO,aAAa,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;AACjD,CAAC;AAYD,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAmC;KACpD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,OAAO;QACL,EAAE,EAAE,cAAc,CAAC,OAAO,CAAC;QAC3B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,YAAY,EAAE,iBAAiB,CAAC,OAAO,CAAC,YAAY,CAAC;QACrD,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,aAAqB,EACrB,SAAoB;IAEpB,OAAO;QACL,aAAa;QACb,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,MAAM;QAC3B,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,KAAK;QACzB,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,MAAmC;QACxD,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,YAAY,EAAE,aAAa,CAAC,SAAS,CAAC,YAAY,CAAC;QACnD,SAAS,EAAE,SAAS,CAAC,SAAS;KAC/B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,CAAU,EAAE,CAAU;IACpD,MAAM,iBAAiB,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC;IAC1E,IAAI,iBAAiB,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IAClD,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,aAAa,CAClB,eAAe,CAAC,CAAC,CAAC,MAAgB,CAAC,EACnC,eAAe,CAAC,CAAC,CAAC,MAAgB,CAAC,CACpC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,OAAO;eACM,MAAM,CAAC,KAAK,CAAC;;;;CAI3B,CAAC;AACF,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO;eACM,MAAM,CAAC,KAAK,CAAC;;;;;;;;;;;;;iBAaX,MAAM,CAAC,KAAK,CAAC;;;;;;OAMvB,MAAM,CAAC,KAAK,CAAC;;;;iCAIa,MAAM,CAAC,KAAK,CAAC;;CAE7C,CAAC;AACF,CAAC;AAOD,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,CACL,YAAY,CAAC,KAAK,CAAC;QACnB,oBAAoB,CAAC,KAAK,CAAC;QAC3B,kBAAkB,CAAC,KAAK,CAAC;QACzB,kBAAkB,CAAC,KAAK,CAAC;QACzB,kBAAkB,CAAC,KAAK,CAAC;QACzB,sBAAsB,CAAC,KAAK,CAAC;QAC7B,eAAe,CAAC,KAAK,CAAC,CACvB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,EAAc,EACd,EAA2B,EAC3B,KAAc;IAEd,EAAE,CAAC,IAAI,EAAE,CAAC,uBAAuB,CAAC,CAAC;IACnC,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,eAAe,CAAC,CAAS;IAChC,OAAO,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/view-syncer/schema/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAOjD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAY,KAAK,OAAO,EAAC,MAAM,0BAA0B,CAAC;AAGjE,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,UAAU,EACf,EAAE,EAAE,UAAU,EACd,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,IAAI,CAAC,CAuJf"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/view-syncer/schema/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAOjD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAY,KAAK,OAAO,EAAC,MAAM,0BAA0B,CAAC;AAGjE,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,UAAU,EACf,EAAE,EAAE,UAAU,EACd,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,IAAI,CAAC,CAoLf"}
@@ -92,6 +92,29 @@ export async function initViewSyncerSchema(log, db, shard) {
92
92
  await tx `ALTER TABLE ${tx(schema)}.instances ADD COLUMN "ttlClock" DOUBLE PRECISION NOT NULL DEFAULT 0`;
93
93
  },
94
94
  };
95
+ const migratedV13ToV14 = {
96
+ migrateSchema: async (_, sql) => {
97
+ await sql `
98
+ CREATE INDEX instances_last_active ON ${sql(schema)}.instances ("lastActive");
99
+ `;
100
+ // Update / add foreign key constraints to cascade deletes.
101
+ for (const [table, reference] of [
102
+ ['clients', 'instances'],
103
+ ['queries', 'instances'],
104
+ ['rows', 'rowsVersion'],
105
+ ]) {
106
+ const constraint = sql(`fk_${table}_client_group`);
107
+ await sql `
108
+ ALTER TABLE ${sql(schema)}.${sql(table)} DROP CONSTRAINT IF EXISTS ${constraint}`;
109
+ await sql `
110
+ ALTER TABLE ${sql(schema)}.${sql(table)} ADD CONSTRAINT ${constraint}
111
+ FOREIGN KEY("clientGroupID")
112
+ REFERENCES ${sql(schema)}.${sql(reference)} ("clientGroupID")
113
+ ON DELETE CASCADE;
114
+ `;
115
+ }
116
+ },
117
+ };
95
118
  const schemaVersionMigrationMap = {
96
119
  2: migrateV1toV2,
97
120
  3: migrateV2ToV3,
@@ -113,6 +136,10 @@ export async function initViewSyncerSchema(log, db, shard) {
113
136
  12: migratedV11ToV12,
114
137
  // V13 adds instances."ttlClock"
115
138
  13: migratedV12ToV13,
139
+ // V14 adds an index on instances."lastActive" and a FK constraint
140
+ // from rows."clientGroupID" to rowsVersion."clientGroupID" for
141
+ // garbage collection
142
+ 14: migratedV13ToV14,
116
143
  };
117
144
  await runSchemaMigrations(log, 'view-syncer', cvrSchema(shard), db, setupMigration, schemaVersionMigrationMap);
118
145
  }
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/view-syncer/schema/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/view-syncer/schema/init.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import type { LogContext } from '@rocicorp/logger';
2
2
  import type { JWTPayload } from 'jose';
3
- import { TDigest } from '../../../../shared/src/tdigest.ts';
4
3
  import type { ChangeDesiredQueriesMessage } from '../../../../zero-protocol/src/change-desired-queries.ts';
5
4
  import type { InitConnectionMessage } from '../../../../zero-protocol/src/connect.ts';
6
5
  import type { DeleteClientsMessage } from '../../../../zero-protocol/src/delete-clients.ts';
7
6
  import type { Downstream } from '../../../../zero-protocol/src/down.ts';
8
7
  import type { InspectUpMessage } from '../../../../zero-protocol/src/inspect-up.ts';
9
8
  import { type ZeroConfig } from '../../config/zero-config.ts';
9
+ import { InspectMetricsDelegate } from '../../server/inspect-metrics-delegate.ts';
10
10
  import type { PostgresDB } from '../../types/pg.ts';
11
11
  import type { ShardID } from '../../types/shards.ts';
12
12
  import type { Source } from '../../types/streams.ts';
@@ -28,13 +28,6 @@ export type SyncContext = {
28
28
  readonly tokenData: TokenData | undefined;
29
29
  readonly httpCookie: string | undefined;
30
30
  };
31
- /**
32
- * Server-side metrics collected for queries during materialization.
33
- * These metrics are reported via the inspector and complement client-side metrics.
34
- */
35
- export type ServerMetrics = {
36
- 'query-materialization-server': TDigest;
37
- };
38
31
  export interface ViewSyncer {
39
32
  initConnection(ctx: SyncContext, msg: InitConnectionMessage): Source<Downstream>;
40
33
  changeDesiredQueries(ctx: SyncContext, msg: ChangeDesiredQueriesMessage): Promise<void>;
@@ -59,7 +52,7 @@ type PartialZeroConfig = Pick<ZeroConfig, 'query' | 'serverVersion'>;
59
52
  export declare class ViewSyncerService implements ViewSyncer, ActivityBasedService {
60
53
  #private;
61
54
  readonly id: string;
62
- constructor(config: PartialZeroConfig, lc: LogContext, shard: ShardID, taskID: string, clientGroupID: string, cvrDb: PostgresDB, upstreamDb: PostgresDB | undefined, pipelineDriver: PipelineDriver, versionChanges: Subscription<ReplicaState>, drainCoordinator: DrainCoordinator, slowHydrateThreshold: number, keepaliveMs?: number, setTimeoutFn?: SetTimeout);
55
+ constructor(config: PartialZeroConfig, lc: LogContext, shard: ShardID, taskID: string, clientGroupID: string, cvrDb: PostgresDB, upstreamDb: PostgresDB | undefined, pipelineDriver: PipelineDriver, versionChanges: Subscription<ReplicaState>, drainCoordinator: DrainCoordinator, slowHydrateThreshold: number, inspectMetricsDelegate: InspectMetricsDelegate, keepaliveMs?: number, setTimeoutFn?: SetTimeout);
63
56
  run(): Promise<void>;
64
57
  /**
65
58
  * Guarantees that the ViewSyncer will remain running for at least
@@ -1 +1 @@
1
- {"version":3,"file":"view-syncer.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/view-syncer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view-syncer.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/view-syncer.ts"],"names":[],"mappings":"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"}