@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
@@ -7,15 +7,14 @@ import { assert, unreachable } from "../../../../shared/src/asserts.js";
7
7
  import { stringify } from "../../../../shared/src/bigint-json.js";
8
8
  import { CustomKeyMap } from "../../../../shared/src/custom-key-map.js";
9
9
  import { must } from "../../../../shared/src/must.js";
10
- import { mapValues } from "../../../../shared/src/objects.js";
11
10
  import { randInt } from "../../../../shared/src/rand.js";
12
- import { TDigest } from "../../../../shared/src/tdigest.js";
13
11
  import { ErrorKind } from "../../../../zero-protocol/src/error-kind.js";
14
12
  import { clampTTL, MAX_TTL_MS } from "../../../../zql/src/query/ttl.js";
15
13
  import { transformAndHashQuery, } from "../../auth/read-authorizer.js";
16
14
  import { getServerVersion } from "../../config/zero-config.js";
17
15
  import { CustomQueryTransformer } from "../../custom-queries/transform-query.js";
18
16
  import { getOrCreateCounter, getOrCreateHistogram, getOrCreateUpDownCounter, } from "../../observability/metrics.js";
17
+ import { InspectMetricsDelegate } from "../../server/inspect-metrics-delegate.js";
19
18
  import { ErrorForClient, getLogLevel } from "../../types/error-for-client.js";
20
19
  import { rowIDString } from "../../types/row-key.js";
21
20
  import { Subscription } from "../../types/subscription.js";
@@ -27,6 +26,7 @@ import { PipelineDriver } from "./pipeline-driver.js";
27
26
  import { cmpVersions, EMPTY_CVR_VERSION, versionFromString, versionString, versionToCookie, } from "./schema/types.js";
28
27
  import { ResetPipelinesSignal } from "./snapshotter.js";
29
28
  import { ttlClockAsNumber, ttlClockFromNumber, } from "./ttl-clock.js";
29
+ import { wrapIterable } from "../../../../shared/src/iterables.js";
30
30
  const tracer = trace.getTracer('view-syncer', version);
31
31
  const PROTOCOL_VERSION_ATTR = 'protocol.version';
32
32
  const DEFAULT_KEEPALIVE_MS = 5_000;
@@ -112,13 +112,9 @@ export class ViewSyncerService {
112
112
  description: 'Time to advance all queries for a given client group after applying a new transaction to the replica.',
113
113
  unit: 's',
114
114
  });
115
- // Store per-query server-side materialization metrics for inspector
116
- #perQueryServerMetrics = new Map();
117
- #serverMetrics = {
118
- 'query-materialization-server': new TDigest(),
119
- };
115
+ #inspectMetricsDelegate;
120
116
  #config;
121
- constructor(config, lc, shard, taskID, clientGroupID, cvrDb, upstreamDb, pipelineDriver, versionChanges, drainCoordinator, slowHydrateThreshold, keepaliveMs = DEFAULT_KEEPALIVE_MS, setTimeoutFn = setTimeout.bind(globalThis)) {
117
+ constructor(config, lc, shard, taskID, clientGroupID, cvrDb, upstreamDb, pipelineDriver, versionChanges, drainCoordinator, slowHydrateThreshold, inspectMetricsDelegate, keepaliveMs = DEFAULT_KEEPALIVE_MS, setTimeoutFn = setTimeout.bind(globalThis)) {
122
118
  const { query: pullConfig } = config;
123
119
  this.#config = config;
124
120
  this.id = clientGroupID;
@@ -130,6 +126,7 @@ export class ViewSyncerService {
130
126
  this.#drainCoordinator = drainCoordinator;
131
127
  this.#keepaliveMs = keepaliveMs;
132
128
  this.#slowHydrateThreshold = slowHydrateThreshold;
129
+ this.#inspectMetricsDelegate = inspectMetricsDelegate;
133
130
  this.#cvrStore = new CVRStore(lc, cvrDb, upstreamDb, shard, taskID, clientGroupID,
134
131
  // On failure, cancel the #stateChanges subscription. The run()
135
132
  // loop will then await #cvrStore.flushed() which rejects if necessary.
@@ -627,7 +624,7 @@ export class ViewSyncerService {
627
624
  return; // hydration needs to be run with the CVR updater.
628
625
  }
629
626
  const gotQueries = Object.entries(cvr.queries).filter(([_, state]) => state.transformationHash !== undefined);
630
- const customQueries = [];
627
+ const customQueries = new Map();
631
628
  const otherQueries = [];
632
629
  for (const [, query] of gotQueries) {
633
630
  if (query.type !== 'internal' &&
@@ -635,38 +632,27 @@ export class ViewSyncerService {
635
632
  continue; // No longer desired.
636
633
  }
637
634
  if (query.type === 'custom') {
638
- customQueries.push(query);
635
+ customQueries.set(query.id, query);
639
636
  }
640
637
  else {
641
638
  otherQueries.push(query);
642
639
  }
643
640
  }
644
641
  const transformedQueries = [];
645
- if (customQueries.length > 0 && !this.#customQueryTransformer) {
642
+ if (customQueries.size > 0 && !this.#customQueryTransformer) {
646
643
  lc.error?.('Custom/named queries were requested but no `ZERO_QUERY_URL` is configured for Zero Cache.');
647
644
  }
648
- if (this.#customQueryTransformer && customQueries.length > 0) {
645
+ const [_, byOriginalHash] = this.#pipelines.addedQueries();
646
+ if (this.#customQueryTransformer && customQueries.size > 0) {
647
+ const filteredCustomQueries = this.#filterCustomQueries(customQueries.values(), byOriginalHash, undefined);
649
648
  const transformedCustomQueries = await this.#customQueryTransformer.transform({
650
649
  apiKey: this.#queryConfig.apiKey,
651
650
  token: this.#authData?.raw,
652
651
  cookie: this.#queryConfig.forwardCookies
653
652
  ? this.#httpCookie
654
653
  : undefined,
655
- }, customQueries);
656
- // TODO: collected errors need to make it downstream to the client.
657
- if (Array.isArray(transformedCustomQueries)) {
658
- for (const q of transformedCustomQueries) {
659
- if ('error' in q) {
660
- lc.error?.(`Error transforming custom query ${q.name}: ${q.error}`);
661
- continue;
662
- }
663
- transformedQueries.push(q);
664
- }
665
- }
666
- else {
667
- // If the result is not an array, it is an error.
668
- lc.error?.('Error calling API server to transform custom queries', transformedCustomQueries);
669
- }
654
+ }, filteredCustomQueries);
655
+ this.#processTransformedCustomQueries(lc, transformedCustomQueries, (q) => transformedQueries.push(q), customQueries);
670
656
  }
671
657
  for (const q of otherQueries) {
672
658
  const transformed = transformAndHashQuery(lc, q.id, q.ast, must(this.#pipelines.currentPermissions()).permissions ?? {
@@ -684,7 +670,7 @@ export class ViewSyncerService {
684
670
  span.setAttribute('queryHash', hash);
685
671
  span.setAttribute('transformationHash', transformationHash);
686
672
  span.setAttribute('table', transformedAst.table);
687
- for (const _ of this.#pipelines.addQuery(transformationHash, transformedAst, timer.start())) {
673
+ for (const _ of this.#pipelines.addQuery(transformationHash, hash, transformedAst, timer.start())) {
688
674
  if (++count % TIME_SLICE_CHECK_SIZE === 0) {
689
675
  if (timer.elapsedLap() > TIME_SLICE_MS) {
690
676
  timer.stopLap();
@@ -697,19 +683,45 @@ export class ViewSyncerService {
697
683
  const elapsed = timer.totalElapsed();
698
684
  this.#hydrations.add(1);
699
685
  this.#hydrationTime.record(elapsed / 1000);
700
- this.#addQueryMaterializationServerMetric(hash, elapsed);
686
+ this.#addQueryMaterializationServerMetric(transformationHash, elapsed);
701
687
  lc.debug?.(`hydrated ${count} rows for ${hash} (${elapsed} ms)`);
702
688
  }
703
689
  }
704
- #addQueryMaterializationServerMetric(queryID, elapsed) {
705
- let perQueryMetrics = this.#perQueryServerMetrics.get(queryID);
706
- if (!perQueryMetrics) {
707
- this.#perQueryServerMetrics.set(queryID, (perQueryMetrics = {
708
- 'query-materialization-server': new TDigest(),
709
- }));
690
+ #processTransformedCustomQueries(lc, transformedCustomQueries, cb, customQueryMap) {
691
+ const errors = [];
692
+ for (const q of transformedCustomQueries) {
693
+ if ('error' in q) {
694
+ lc.error?.(`Error transforming custom query ${q.name}: ${q.error}`);
695
+ errors.push(q);
696
+ continue;
697
+ }
698
+ cb(q);
699
+ }
700
+ // todo: fan errors out to connected clients
701
+ // based on the client data from queries
702
+ this.#sendQueryTransformErrorToClients(customQueryMap, errors);
703
+ }
704
+ #sendQueryTransformErrorToClients(customQueryMap, errors) {
705
+ const errorGroups = new Map();
706
+ for (const err of errors) {
707
+ const q = customQueryMap.get(err.id);
708
+ assert(q, 'got an error that does not map back to a custom query');
709
+ const clientIds = Object.keys(q.clientState);
710
+ for (const clientId of clientIds) {
711
+ const group = errorGroups.get(clientId) ?? [];
712
+ group.push(err);
713
+ errorGroups.set(clientId, group);
714
+ }
715
+ }
716
+ for (const [clientId, errors] of errorGroups) {
717
+ const client = this.#clients.get(clientId);
718
+ if (client) {
719
+ client.sendQueryTransformErrors(errors);
720
+ }
710
721
  }
711
- perQueryMetrics['query-materialization-server'].add(elapsed);
712
- this.#serverMetrics['query-materialization-server'].add(elapsed);
722
+ }
723
+ #addQueryMaterializationServerMetric(transformationHash, elapsed) {
724
+ this.#inspectMetricsDelegate.addMetric('query-materialization-server', elapsed, transformationHash);
713
725
  }
714
726
  /**
715
727
  * Adds and/or removes queries to/from the PipelineDriver to bring it
@@ -722,7 +734,7 @@ export class ViewSyncerService {
722
734
  #syncQueryPipelineSet(lc, cvr) {
723
735
  return startAsyncSpan(tracer, 'vs.#syncQueryPipelineSet', async () => {
724
736
  assert(this.#pipelines.initialized(), 'pipelines must be initialized (syncQueryPipelineSet)');
725
- const hydratedQueries = this.#pipelines.addedQueries();
737
+ const [hydratedQueries, byOriginalHash] = this.#pipelines.addedQueries();
726
738
  // Convert queries to their transformed ast's and hashes
727
739
  const hashToIDs = new Map();
728
740
  if (this.#ttlClock === undefined) {
@@ -766,29 +778,29 @@ export class ViewSyncerService {
766
778
  lc.error?.('Custom/named queries were requested but no `ZERO_QUERY_URL` is configured for Zero Cache.');
767
779
  }
768
780
  if (this.#customQueryTransformer && customQueries.size > 0) {
781
+ const filteredCustomQueries = this.#filterCustomQueries(customQueries.values(), byOriginalHash, (origQuery, existing) => {
782
+ for (const transformed of existing) {
783
+ transformedQueries.push({
784
+ id: origQuery.id,
785
+ origQuery,
786
+ transformed: {
787
+ id: origQuery.id,
788
+ transformationHash: transformed.transformationHash,
789
+ transformedAst: transformed.transformedAst,
790
+ },
791
+ });
792
+ }
793
+ });
769
794
  const transformedCustomQueries = await this.#customQueryTransformer.transform({
770
795
  apiKey: this.#queryConfig.apiKey,
771
796
  token: this.#authData?.raw,
772
797
  cookie: this.#httpCookie,
773
- }, customQueries.values());
774
- // TODO: collected errors need to make it downstream to the client.
775
- if (Array.isArray(transformedCustomQueries)) {
776
- for (const q of transformedCustomQueries) {
777
- if ('error' in q) {
778
- lc.error?.(`Error transforming custom query ${q.name}: ${q.error}`);
779
- continue;
780
- }
781
- transformedQueries.push({
782
- id: q.id,
783
- origQuery: must(customQueries.get(q.id)),
784
- transformed: q,
785
- });
786
- }
787
- }
788
- else {
789
- // If the result is not an array, it is an error.
790
- lc.error?.('Error calling API server to transform custom queries', transformedCustomQueries);
791
- }
798
+ }, filteredCustomQueries);
799
+ this.#processTransformedCustomQueries(lc, transformedCustomQueries, (q) => transformedQueries.push({
800
+ id: q.id,
801
+ origQuery: must(customQueries.get(q.id)),
802
+ transformed: q,
803
+ }), customQueries);
792
804
  }
793
805
  const serverQueries = transformedQueries.map(({ id, origQuery, transformed }) => {
794
806
  const ids = hashToIDs.get(transformed.transformationHash);
@@ -823,6 +835,21 @@ export class ViewSyncerService {
823
835
  }
824
836
  });
825
837
  }
838
+ // Removes queries from `customQueries` that are already
839
+ // transformed and in the pipelines. We do not want to re-transform
840
+ // a query that has already been transformed. The reason is that
841
+ // we do not want a query that is already running to suddenly flip
842
+ // to error due to re-calling transform.
843
+ #filterCustomQueries(customQueries, byOriginalHash, onExisting) {
844
+ return wrapIterable(customQueries).filter(origQuery => {
845
+ const existing = byOriginalHash.get(origQuery.id);
846
+ if (existing) {
847
+ onExisting?.(origQuery, existing);
848
+ return false;
849
+ }
850
+ return true;
851
+ });
852
+ }
826
853
  // This must be called from within the #lock.
827
854
  #addAndRemoveQueries(lc, cvr, addQueries, removeQueries, unhydrateQueries, hashToIDs) {
828
855
  return startAsyncSpan(tracer, 'vs.#addAndRemoveQueries', async () => {
@@ -847,7 +874,7 @@ export class ViewSyncerService {
847
874
  for (const q of removeQueries) {
848
875
  this.#pipelines.removeQuery(q.transformationHash);
849
876
  // Remove per-query server metrics when query is deleted
850
- this.#perQueryServerMetrics.delete(q.id);
877
+ this.#inspectMetricsDelegate.deleteMetricsForQuery(q.id);
851
878
  }
852
879
  for (const hash of unhydrateQueries) {
853
880
  this.#pipelines.removeQuery(hash);
@@ -855,7 +882,7 @@ export class ViewSyncerService {
855
882
  const ids = hashToIDs.get(hash);
856
883
  if (ids) {
857
884
  for (const id of ids) {
858
- this.#perQueryServerMetrics.delete(id);
885
+ this.#inspectMetricsDelegate.deleteMetricsForQuery(id);
859
886
  }
860
887
  }
861
888
  }
@@ -872,10 +899,10 @@ export class ViewSyncerService {
872
899
  .withContext('hash', q.id)
873
900
  .withContext('transformationHash', q.transformationHash);
874
901
  lc.debug?.(`adding pipeline for query`, q.ast);
875
- yield* pipelines.addQuery(q.transformationHash, q.ast, timer.start());
902
+ yield* pipelines.addQuery(q.transformationHash, q.id, q.ast, timer.start());
876
903
  const elapsed = timer.stop();
877
904
  totalProcessTime += elapsed;
878
- self.#addQueryMaterializationServerMetric(q.id, elapsed);
905
+ self.#addQueryMaterializationServerMetric(q.transformationHash, elapsed);
879
906
  if (elapsed > slowHydrateThreshold) {
880
907
  lc.warn?.('Slow query materialization', elapsed, q.ast);
881
908
  }
@@ -1093,18 +1120,10 @@ export class ViewSyncerService {
1093
1120
  case 'queries': {
1094
1121
  const queryRows = await this.#cvrStore.inspectQueries(lc, cvr.ttlClock, body.clientID);
1095
1122
  // Enhance query rows with server-side materialization metrics
1096
- const enhancedRows = queryRows.map(row => {
1097
- const serverMetrics = this.#perQueryServerMetrics.get(row.queryID);
1098
- const metrics = serverMetrics
1099
- ? {
1100
- 'query-materialization-server': serverMetrics['query-materialization-server'].toJSON(),
1101
- }
1102
- : null;
1103
- return {
1104
- ...row,
1105
- metrics,
1106
- };
1107
- });
1123
+ const enhancedRows = queryRows.map(row => ({
1124
+ ...row,
1125
+ metrics: this.#inspectMetricsDelegate.getMetricsJSONForQuery(row.queryID),
1126
+ }));
1108
1127
  client.sendInspectResponse(lc, {
1109
1128
  op: 'queries',
1110
1129
  id: body.id,
@@ -1113,11 +1132,10 @@ export class ViewSyncerService {
1113
1132
  break;
1114
1133
  }
1115
1134
  case 'metrics': {
1116
- const serverMetrics = mapValues(this.#serverMetrics, metric => metric.toJSON());
1117
1135
  client.sendInspectResponse(lc, {
1118
1136
  op: 'metrics',
1119
1137
  id: body.id,
1120
- value: serverMetrics,
1138
+ value: this.#inspectMetricsDelegate.getMetricsJSON(),
1121
1139
  });
1122
1140
  break;
1123
1141
  }
@@ -1 +1 @@
1
- {"version":3,"file":"view-syncer.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/view-syncer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view-syncer.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/view-syncer.ts"],"names":[],"mappings":"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"}
@@ -115,7 +115,7 @@ export declare const pgToZqlTypeMap: Readonly<{
115
115
  uuid: "string";
116
116
  varchar: "string";
117
117
  date: "number";
118
- time: "string";
118
+ time: "number";
119
119
  timestamp: "number";
120
120
  timestamptz: "number";
121
121
  'timestamp with time zone': "number";
@@ -270,7 +270,7 @@ export const pgToZqlTypeMap = Object.freeze({
270
270
  ...pgToZqlNumericTypeMap,
271
271
  // Date/Time types
272
272
  'date': 'number',
273
- 'time': 'string',
273
+ 'time': 'number',
274
274
  'timestamp': 'number',
275
275
  'timestamptz': 'number',
276
276
  'timestamp with time zone': 'number',
@@ -41,6 +41,7 @@ export declare class ZeroContext implements QueryDelegate {
41
41
  decorateInput(input: Input): Input;
42
42
  decorateFilterInput(input: FilterInput): FilterInput;
43
43
  decorateSourceInput(input: SourceInput, queryID: string): Input;
44
+ addEdge(): void;
44
45
  onTransactionCommit(cb: CommitListener): () => void;
45
46
  batchViewUpdates<T>(applyViewUpdates: () => T): T;
46
47
  processChanges(expectedHead: Hash | undefined, newHead: Hash, changes: NoIndexDiff): void;
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"inspector.d.ts","sourceRoot":"","sources":["../../../../../../zero-client/src/client/inspector/inspector.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,+CAA+C,CAAC;AAKlF,OAAO,EAAU,KAAK,eAAe,EAAC,MAAM,mCAAmC,CAAC;AAiBhF,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,uDAAuD,CAAC;AAClF,OAAO,KAAK,EACV,eAAe,EAGhB,MAAM,+CAA+C,CAAC;AAIvD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAGV,SAAS,IAAI,kBAAkB,EAEhC,MAAM,YAAY,CAAC;AAEpB,KAAK,GAAG,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;AAEvC,KAAK,YAAY,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;AAM7C,KAAK,aAAa,GAAG;IACnB,QAAQ,EAAE,CAAC,IAAI,MAAM,eAAe,GAAG,eAAe;CACvD,CAAC;AAMF,MAAM,WAAW,8BAA8B;IAC7C,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;IACzD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;CACjC;AAED,wBAAsB,YAAY,CAChC,GAAG,EAAE,GAAG,EACR,qBAAqB,EAAE,8BAA8B,EACrD,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,kBAAkB,CAAC,CAU7B"}
1
+ {"version":3,"file":"inspector.d.ts","sourceRoot":"","sources":["../../../../../../zero-client/src/client/inspector/inspector.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,+CAA+C,CAAC;AAKlF,OAAO,EAAU,KAAK,eAAe,EAAC,MAAM,mCAAmC,CAAC;AAiBhF,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,uDAAuD,CAAC;AAClF,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,+CAA+C,CAAC;AAIvD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAGV,SAAS,IAAI,kBAAkB,EAEhC,MAAM,YAAY,CAAC;AAEpB,KAAK,GAAG,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;AAEvC,KAAK,YAAY,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;AAM7C,KAAK,aAAa,GAAG;IACnB,QAAQ,EAAE,CAAC,IAAI,MAAM,eAAe,GAAG,eAAe;CACvD,CAAC;AAMF,MAAM,WAAW,8BAA8B;IAC7C,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;IACzD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;CACjC;AAED,wBAAsB,YAAY,CAChC,GAAG,EAAE,GAAG,EACR,qBAAqB,EAAE,8BAA8B,EACrD,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,kBAAkB,CAAC,CAU7B"}
@@ -11,6 +11,7 @@ export type Metrics = {
11
11
  'query-materialization-end-to-end': ReadonlyTDigest;
12
12
  'query-update-client': ReadonlyTDigest;
13
13
  'query-materialization-server': ReadonlyTDigest;
14
+ 'query-update-server': ReadonlyTDigest;
14
15
  };
15
16
  export interface Inspector {
16
17
  readonly client: Client;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../zero-client/src/client/inspector/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,sCAAsC,CAAC;AAC9D,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,uCAAuC,CAAC;AAC/D,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,kCAAkC,CAAC;AAE1D,MAAM,WAAW,YAAY;IAC3B,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;CAC/B;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,8BAA8B,EAAE,eAAe,CAAC;IAChD,kCAAkC,EAAE,eAAe,CAAC;IACpD,qBAAqB,EAAE,eAAe,CAAC;IACvC,8BAA8B,EAAE,eAAe,CAAC;CACjD,CAAC;AAEF,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7B,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5B,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAC5B,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC/C,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7B,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;IACvD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,aAAa,EAAE,IAAI,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CAClC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../zero-client/src/client/inspector/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,sCAAsC,CAAC;AAC9D,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,uCAAuC,CAAC;AAC/D,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,kCAAkC,CAAC;AAE1D,MAAM,WAAW,YAAY;IAC3B,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;CAC/B;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,8BAA8B,EAAE,eAAe,CAAC;IAChD,kCAAkC,EAAE,eAAe,CAAC;IACpD,qBAAqB,EAAE,eAAe,CAAC;IACvC,8BAA8B,EAAE,eAAe,CAAC;IAChD,qBAAqB,EAAE,eAAe,CAAC;CACxC,CAAC;AAEF,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7B,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5B,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAC5B,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC/C,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7B,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;IACvD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,aAAa,EAAE,IAAI,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CAClC"}