@rocicorp/zero 0.10.2024123000 → 0.10.2025010500

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 (63) hide show
  1. package/out/{chunk-NWHD4LHL.js → chunk-VLJ76GO7.js} +202 -183
  2. package/out/{chunk-NWHD4LHL.js.map → chunk-VLJ76GO7.js.map} +4 -4
  3. package/out/react.js.map +1 -1
  4. package/out/solid.js +26 -8
  5. package/out/solid.js.map +2 -2
  6. package/out/zero-advanced/src/mod.d.ts +1 -1
  7. package/out/zero-advanced/src/mod.d.ts.map +1 -1
  8. package/out/zero-cache/src/config/zero-config.d.ts +20 -0
  9. package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
  10. package/out/zero-cache/src/config/zero-config.js +19 -0
  11. package/out/zero-cache/src/config/zero-config.js.map +1 -1
  12. package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
  13. package/out/zero-cache/src/server/change-streamer.js +1 -1
  14. package/out/zero-cache/src/server/change-streamer.js.map +1 -1
  15. package/out/zero-cache/src/server/multi/config.d.ts +10 -0
  16. package/out/zero-cache/src/server/multi/config.d.ts.map +1 -1
  17. package/out/zero-cache/src/server/multi/tenant-dispatcher.js +1 -1
  18. package/out/zero-cache/src/server/multi/tenant-dispatcher.js.map +1 -1
  19. package/out/zero-cache/src/services/change-streamer/pg/change-source.d.ts +2 -1
  20. package/out/zero-cache/src/services/change-streamer/pg/change-source.d.ts.map +1 -1
  21. package/out/zero-cache/src/services/change-streamer/pg/change-source.js +16 -4
  22. package/out/zero-cache/src/services/change-streamer/pg/change-source.js.map +1 -1
  23. package/out/zero-cache/src/services/change-streamer/pg/initial-sync.d.ts +5 -1
  24. package/out/zero-cache/src/services/change-streamer/pg/initial-sync.d.ts.map +1 -1
  25. package/out/zero-cache/src/services/change-streamer/pg/initial-sync.js +8 -11
  26. package/out/zero-cache/src/services/change-streamer/pg/initial-sync.js.map +1 -1
  27. package/out/zero-cache/src/services/change-streamer/pg/sync-schema.d.ts +2 -1
  28. package/out/zero-cache/src/services/change-streamer/pg/sync-schema.d.ts.map +1 -1
  29. package/out/zero-cache/src/services/change-streamer/pg/sync-schema.js +2 -2
  30. package/out/zero-cache/src/services/change-streamer/pg/sync-schema.js.map +1 -1
  31. package/out/zero-cache/src/services/dispatcher/websocket-handoff.d.ts.map +1 -1
  32. package/out/zero-cache/src/services/dispatcher/websocket-handoff.js +16 -2
  33. package/out/zero-cache/src/services/dispatcher/websocket-handoff.js.map +1 -1
  34. package/out/zero-cache/src/types/processes.d.ts.map +1 -1
  35. package/out/zero-cache/src/types/processes.js +7 -2
  36. package/out/zero-cache/src/types/processes.js.map +1 -1
  37. package/out/zero-protocol/src/ast.d.ts +2 -7
  38. package/out/zero-protocol/src/ast.d.ts.map +1 -1
  39. package/out/zero-protocol/src/ast.js +1 -0
  40. package/out/zero-protocol/src/ast.js.map +1 -1
  41. package/out/zero-react/src/use-query.d.ts +3 -3
  42. package/out/zero-react/src/use-query.d.ts.map +1 -1
  43. package/out/zero-schema/src/permissions.d.ts +8 -3
  44. package/out/zero-schema/src/permissions.d.ts.map +1 -1
  45. package/out/zero-solid/src/solid-view.d.ts +4 -2
  46. package/out/zero-solid/src/solid-view.d.ts.map +1 -1
  47. package/out/zero-solid/src/use-query.d.ts +9 -1
  48. package/out/zero-solid/src/use-query.d.ts.map +1 -1
  49. package/out/zero.js +1 -1
  50. package/out/zql/src/builder/builder.d.ts.map +1 -1
  51. package/out/zql/src/builder/builder.js +11 -1
  52. package/out/zql/src/builder/builder.js.map +1 -1
  53. package/out/zql/src/query/expression.d.ts +9 -6
  54. package/out/zql/src/query/expression.d.ts.map +1 -1
  55. package/out/zql/src/query/expression.js +12 -5
  56. package/out/zql/src/query/expression.js.map +1 -1
  57. package/out/zql/src/query/query-impl.d.ts +4 -4
  58. package/out/zql/src/query/query-impl.d.ts.map +1 -1
  59. package/out/zql/src/query/query-impl.js +2 -1
  60. package/out/zql/src/query/query-impl.js.map +1 -1
  61. package/out/zql/src/query/query.d.ts +5 -9
  62. package/out/zql/src/query/query.d.ts.map +1 -1
  63. package/package.json +1 -1
package/out/react.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../zero-react/src/use-query.tsx", "../../shared/src/deep-clone.ts", "../../zero-react/src/use-zero.tsx"],
4
- "sourcesContent": ["import {useSyncExternalStore} from 'react';\nimport {deepClone} from '../../shared/src/deep-clone.js';\nimport type {Immutable} from '../../shared/src/immutable.js';\nimport type {\n Query,\n QueryType,\n ReadonlyJSONValue,\n Smash,\n TypedView,\n} from '../../zero-client/src/mod.js';\nimport type {AdvancedQuery} from '../../zql/src/query/query-internal.js';\nimport {useZero} from './use-zero.js';\nimport type {TableSchema} from '../../zero-schema/src/table-schema.js';\nimport type {ResultType} from '../../zql/src/query/typed-view.js';\n\nexport type QueryResultDetails = {\n type: ResultType;\n};\n\nexport type QueryResult<TReturn extends QueryType> = [\n Smash<TReturn>,\n QueryResultDetails,\n];\n\nexport function useQuery<\n TSchema extends TableSchema,\n TReturn extends QueryType,\n>(q: Query<TSchema, TReturn>, enable: boolean = true): QueryResult<TReturn> {\n const z = useZero();\n const view = viewStore.getView(\n z.clientID,\n q as AdvancedQuery<TSchema, TReturn>,\n enable && z.server !== null,\n );\n // https://react.dev/reference/react/useSyncExternalStore\n return useSyncExternalStore(\n view.subscribeReactInternals,\n view.getSnapshot,\n view.getSnapshot,\n );\n}\n\nconst emptyArray: unknown[] = [];\nconst disabledSubscriber = () => () => {};\n\nconst defaultSnapshots = {\n singular: [undefined, {type: 'unknown'}] as const,\n plural: [emptyArray, {type: 'unknown'}] as const,\n};\n\nfunction getDefaultSnapshot<TReturn extends QueryType>(\n singular: boolean,\n): QueryResult<TReturn> {\n return (\n singular ? defaultSnapshots.singular : defaultSnapshots.plural\n ) as QueryResult<TReturn>;\n}\n\n/**\n * A global store of all active views.\n *\n * React subscribes and unsubscribes to these views\n * via `useSyncExternalStore`.\n *\n * Managing views through `useEffect` or `useLayoutEffect` causes\n * inconsistencies because effects run after render.\n *\n * For example, if useQuery used use*Effect in the component below:\n * ```ts\n * function Foo({issueID}) {\n * const issue = useQuery(z.query.issue.where('id', issueID).one());\n * if (issue?.id !== undefined && issue.id !== issueID) {\n * console.log('MISMATCH!', issue.id, issueID);\n * }\n * }\n * ```\n *\n * `MISMATCH` will be printed whenever the `issueID` prop changes.\n *\n * This is because the component will render once with\n * the old state returned from `useQuery`. Then the effect inside\n * `useQuery` will run. The component will render again with the new\n * state. This inconsistent transition can cause unexpected results.\n *\n * Emulating `useEffect` via `useState` and `if` causes resource leaks.\n * That is:\n *\n * ```ts\n * function useQuery(q) {\n * const [oldHash, setOldHash] = useState();\n * if (hash(q) !== oldHash) {\n * // make new view\n * }\n *\n * useEffect(() => {\n * return () => view.destroy();\n * }, []);\n * }\n * ```\n *\n * I'm not sure why but in strict mode the cleanup function\n * fails to be called for the first instance of the view and only\n * cleans up later instances.\n *\n * Swapping `useState` to `useRef` has similar problems.\n */\nclass ViewStore {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n #views = new Map<string, ViewWrapper<any, any>>();\n\n getView<TSchema extends TableSchema, TReturn extends QueryType>(\n clientID: string,\n query: AdvancedQuery<TSchema, TReturn>,\n enabled: boolean,\n ): {\n getSnapshot: () => QueryResult<TReturn>;\n subscribeReactInternals: (internals: () => void) => () => void;\n } {\n if (!enabled) {\n return {\n getSnapshot: () => getDefaultSnapshot(query.format.singular),\n subscribeReactInternals: disabledSubscriber,\n };\n }\n\n const hash = query.hash() + clientID;\n let existing = this.#views.get(hash);\n if (!existing) {\n existing = new ViewWrapper(\n query,\n view => {\n const lastView = this.#views.get(hash);\n // I don't think this can happen\n // but lets guard against it so we don't\n // leak resources.\n if (lastView && lastView !== view) {\n throw new Error('View already exists');\n }\n this.#views.set(hash, view);\n },\n () => {\n this.#views.delete(hash);\n },\n ) as ViewWrapper<TSchema, TReturn>;\n this.#views.set(hash, existing);\n }\n return existing as ViewWrapper<TSchema, TReturn>;\n }\n}\n\nconst viewStore = new ViewStore();\n\n/**\n * This wraps and ref counts a view.\n *\n * The only signal we have from React as to whether or not it is\n * done with a view is when it calls `unsubscribe`.\n *\n * In non-strict-mode we can clean up the view as soon\n * as the listener count goes to 0.\n *\n * In strict-mode, the listener cound will go to 0 then a\n * new listener for the same view is immeidatiely added back.\n *\n * This is why the `onMaterialized` and `onDematerialized` callbacks exist --\n * they allow a view which React is still referencing to be added\n * back into the store when React re-subscribes to it.\n *\n * This wrapper also exists to deal with the various\n * `useSyncExternalStore` caveats that cause excessive\n * re-renders and materializations.\n *\n * See: https://react.dev/reference/react/useSyncExternalStore#caveats\n * Especially:\n * 1. The store snapshot returned by getSnapshot must be immutable. If the underlying store has mutable data, return a new immutable snapshot if the data has changed. Otherwise, return a cached last snapshot.\n * 2. If a different subscribe function is passed during a re-render, React will re-subscribe to the store using the newly passed subscribe function. You can prevent this by declaring subscribe outside the component.\n */\nclass ViewWrapper<TSchema extends TableSchema, TReturn extends QueryType> {\n #view: TypedView<Smash<TReturn>> | undefined;\n readonly #onDematerialized;\n readonly #onMaterialized;\n readonly #query: AdvancedQuery<TSchema, TReturn>;\n #snapshot: QueryResult<TReturn>;\n #reactInternals: Set<() => void>;\n\n constructor(\n query: AdvancedQuery<TSchema, TReturn>,\n onMaterialized: (view: ViewWrapper<TSchema, TReturn>) => void,\n onDematerialized: () => void,\n ) {\n this.#snapshot = getDefaultSnapshot(query.format.singular);\n this.#onMaterialized = onMaterialized;\n this.#onDematerialized = onDematerialized;\n this.#reactInternals = new Set();\n this.#query = query;\n }\n\n #onData = (snap: Immutable<Smash<TReturn>>, resultType: ResultType) => {\n const data =\n snap === undefined\n ? snap\n : (deepClone(snap as ReadonlyJSONValue) as Smash<TReturn>);\n this.#snapshot = [data, {type: resultType}] as QueryResult<TReturn>;\n for (const internals of this.#reactInternals) {\n internals();\n }\n };\n\n #materializeIfNeeded = () => {\n if (this.#view) {\n return;\n }\n\n this.#view = this.#query.materialize();\n this.#view.addListener(this.#onData);\n\n this.#onMaterialized(this);\n };\n\n getSnapshot = () => this.#snapshot;\n\n subscribeReactInternals = (internals: () => void): (() => void) => {\n this.#reactInternals.add(internals);\n this.#materializeIfNeeded();\n return () => {\n this.#reactInternals.delete(internals);\n if (this.#reactInternals.size === 0) {\n this.#view?.destroy();\n this.#view = undefined;\n this.#onDematerialized();\n }\n };\n };\n}\n", "import {hasOwn} from './has-own.js';\nimport type {JSONValue, ReadonlyJSONValue} from './json.js';\n\nexport function deepClone(value: ReadonlyJSONValue): JSONValue {\n const seen: Array<ReadonlyJSONValue> = [];\n return internalDeepClone(value, seen);\n}\n\nexport function internalDeepClone(\n value: ReadonlyJSONValue,\n seen: Array<ReadonlyJSONValue>,\n): JSONValue {\n switch (typeof value) {\n case 'boolean':\n case 'number':\n case 'string':\n case 'undefined':\n return value;\n case 'object': {\n if (value === null) {\n return null;\n }\n if (seen.includes(value)) {\n throw new Error('Cyclic object');\n }\n seen.push(value);\n if (Array.isArray(value)) {\n const rv = value.map(v => internalDeepClone(v, seen));\n seen.pop();\n return rv;\n }\n\n const obj: JSONValue = {};\n\n for (const k in value) {\n if (hasOwn(value, k)) {\n const v = (value as Record<string, ReadonlyJSONValue>)[k];\n if (v !== undefined) {\n obj[k] = internalDeepClone(v, seen);\n }\n }\n }\n seen.pop();\n return obj;\n }\n\n default:\n throw new Error(`Invalid type: ${typeof value}`);\n }\n}\n", "import {createContext, useContext} from 'react';\nimport type {Zero} from '../../zero-client/src/mod.js';\nimport type {Schema} from '../../zero-schema/src/mod.js';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst ZeroContext = createContext<unknown | undefined>(undefined);\n\nexport function useZero<S extends Schema>(): Zero<S> {\n const zero = useContext(ZeroContext);\n if (zero === undefined) {\n throw new Error('useZero must be used within a ZeroProvider');\n }\n return zero as Zero<S>;\n}\n\nexport function createUseZero<S extends Schema>() {\n return () => useZero<S>();\n}\n\nexport function ZeroProvider<S extends Schema>({\n children,\n zero,\n}: {\n children: React.ReactNode;\n zero: Zero<S>;\n}) {\n return <ZeroContext.Provider value={zero}>{children}</ZeroContext.Provider>;\n}\n"],
4
+ "sourcesContent": ["import {useSyncExternalStore} from 'react';\nimport {deepClone} from '../../shared/src/deep-clone.js';\nimport type {Immutable} from '../../shared/src/immutable.js';\nimport type {\n Query,\n QueryType,\n ReadonlyJSONValue,\n Smash,\n TypedView,\n} from '../../zero-client/src/mod.js';\nimport type {AdvancedQuery} from '../../zql/src/query/query-internal.js';\nimport {useZero} from './use-zero.js';\nimport type {TableSchema} from '../../zero-schema/src/table-schema.js';\nimport type {ResultType} from '../../zql/src/query/typed-view.js';\n\nexport type QueryResultDetails = Readonly<{\n type: ResultType;\n}>;\n\nexport type QueryResult<TReturn extends QueryType> = readonly [\n Smash<TReturn>,\n QueryResultDetails,\n];\n\nexport function useQuery<\n TSchema extends TableSchema,\n TReturn extends QueryType,\n>(q: Query<TSchema, TReturn>, enable: boolean = true): QueryResult<TReturn> {\n const z = useZero();\n const view = viewStore.getView(\n z.clientID,\n q as AdvancedQuery<TSchema, TReturn>,\n enable && z.server !== null,\n );\n // https://react.dev/reference/react/useSyncExternalStore\n return useSyncExternalStore(\n view.subscribeReactInternals,\n view.getSnapshot,\n view.getSnapshot,\n );\n}\n\nconst emptyArray: unknown[] = [];\nconst disabledSubscriber = () => () => {};\n\nconst defaultSnapshots = {\n singular: [undefined, {type: 'unknown'}] as const,\n plural: [emptyArray, {type: 'unknown'}] as const,\n};\n\nfunction getDefaultSnapshot<TReturn extends QueryType>(\n singular: boolean,\n): QueryResult<TReturn> {\n return (\n singular ? defaultSnapshots.singular : defaultSnapshots.plural\n ) as QueryResult<TReturn>;\n}\n\n/**\n * A global store of all active views.\n *\n * React subscribes and unsubscribes to these views\n * via `useSyncExternalStore`.\n *\n * Managing views through `useEffect` or `useLayoutEffect` causes\n * inconsistencies because effects run after render.\n *\n * For example, if useQuery used use*Effect in the component below:\n * ```ts\n * function Foo({issueID}) {\n * const issue = useQuery(z.query.issue.where('id', issueID).one());\n * if (issue?.id !== undefined && issue.id !== issueID) {\n * console.log('MISMATCH!', issue.id, issueID);\n * }\n * }\n * ```\n *\n * `MISMATCH` will be printed whenever the `issueID` prop changes.\n *\n * This is because the component will render once with\n * the old state returned from `useQuery`. Then the effect inside\n * `useQuery` will run. The component will render again with the new\n * state. This inconsistent transition can cause unexpected results.\n *\n * Emulating `useEffect` via `useState` and `if` causes resource leaks.\n * That is:\n *\n * ```ts\n * function useQuery(q) {\n * const [oldHash, setOldHash] = useState();\n * if (hash(q) !== oldHash) {\n * // make new view\n * }\n *\n * useEffect(() => {\n * return () => view.destroy();\n * }, []);\n * }\n * ```\n *\n * I'm not sure why but in strict mode the cleanup function\n * fails to be called for the first instance of the view and only\n * cleans up later instances.\n *\n * Swapping `useState` to `useRef` has similar problems.\n */\nclass ViewStore {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n #views = new Map<string, ViewWrapper<any, any>>();\n\n getView<TSchema extends TableSchema, TReturn extends QueryType>(\n clientID: string,\n query: AdvancedQuery<TSchema, TReturn>,\n enabled: boolean,\n ): {\n getSnapshot: () => QueryResult<TReturn>;\n subscribeReactInternals: (internals: () => void) => () => void;\n } {\n if (!enabled) {\n return {\n getSnapshot: () => getDefaultSnapshot(query.format.singular),\n subscribeReactInternals: disabledSubscriber,\n };\n }\n\n const hash = query.hash() + clientID;\n let existing = this.#views.get(hash);\n if (!existing) {\n existing = new ViewWrapper(\n query,\n view => {\n const lastView = this.#views.get(hash);\n // I don't think this can happen\n // but lets guard against it so we don't\n // leak resources.\n if (lastView && lastView !== view) {\n throw new Error('View already exists');\n }\n this.#views.set(hash, view);\n },\n () => {\n this.#views.delete(hash);\n },\n ) as ViewWrapper<TSchema, TReturn>;\n this.#views.set(hash, existing);\n }\n return existing as ViewWrapper<TSchema, TReturn>;\n }\n}\n\nconst viewStore = new ViewStore();\n\n/**\n * This wraps and ref counts a view.\n *\n * The only signal we have from React as to whether or not it is\n * done with a view is when it calls `unsubscribe`.\n *\n * In non-strict-mode we can clean up the view as soon\n * as the listener count goes to 0.\n *\n * In strict-mode, the listener cound will go to 0 then a\n * new listener for the same view is immeidatiely added back.\n *\n * This is why the `onMaterialized` and `onDematerialized` callbacks exist --\n * they allow a view which React is still referencing to be added\n * back into the store when React re-subscribes to it.\n *\n * This wrapper also exists to deal with the various\n * `useSyncExternalStore` caveats that cause excessive\n * re-renders and materializations.\n *\n * See: https://react.dev/reference/react/useSyncExternalStore#caveats\n * Especially:\n * 1. The store snapshot returned by getSnapshot must be immutable. If the underlying store has mutable data, return a new immutable snapshot if the data has changed. Otherwise, return a cached last snapshot.\n * 2. If a different subscribe function is passed during a re-render, React will re-subscribe to the store using the newly passed subscribe function. You can prevent this by declaring subscribe outside the component.\n */\nclass ViewWrapper<TSchema extends TableSchema, TReturn extends QueryType> {\n #view: TypedView<Smash<TReturn>> | undefined;\n readonly #onDematerialized;\n readonly #onMaterialized;\n readonly #query: AdvancedQuery<TSchema, TReturn>;\n #snapshot: QueryResult<TReturn>;\n #reactInternals: Set<() => void>;\n\n constructor(\n query: AdvancedQuery<TSchema, TReturn>,\n onMaterialized: (view: ViewWrapper<TSchema, TReturn>) => void,\n onDematerialized: () => void,\n ) {\n this.#snapshot = getDefaultSnapshot(query.format.singular);\n this.#onMaterialized = onMaterialized;\n this.#onDematerialized = onDematerialized;\n this.#reactInternals = new Set();\n this.#query = query;\n }\n\n #onData = (snap: Immutable<Smash<TReturn>>, resultType: ResultType) => {\n const data =\n snap === undefined\n ? snap\n : (deepClone(snap as ReadonlyJSONValue) as Smash<TReturn>);\n this.#snapshot = [data, {type: resultType}] as QueryResult<TReturn>;\n for (const internals of this.#reactInternals) {\n internals();\n }\n };\n\n #materializeIfNeeded = () => {\n if (this.#view) {\n return;\n }\n\n this.#view = this.#query.materialize();\n this.#view.addListener(this.#onData);\n\n this.#onMaterialized(this);\n };\n\n getSnapshot = () => this.#snapshot;\n\n subscribeReactInternals = (internals: () => void): (() => void) => {\n this.#reactInternals.add(internals);\n this.#materializeIfNeeded();\n return () => {\n this.#reactInternals.delete(internals);\n if (this.#reactInternals.size === 0) {\n this.#view?.destroy();\n this.#view = undefined;\n this.#onDematerialized();\n }\n };\n };\n}\n", "import {hasOwn} from './has-own.js';\nimport type {JSONValue, ReadonlyJSONValue} from './json.js';\n\nexport function deepClone(value: ReadonlyJSONValue): JSONValue {\n const seen: Array<ReadonlyJSONValue> = [];\n return internalDeepClone(value, seen);\n}\n\nexport function internalDeepClone(\n value: ReadonlyJSONValue,\n seen: Array<ReadonlyJSONValue>,\n): JSONValue {\n switch (typeof value) {\n case 'boolean':\n case 'number':\n case 'string':\n case 'undefined':\n return value;\n case 'object': {\n if (value === null) {\n return null;\n }\n if (seen.includes(value)) {\n throw new Error('Cyclic object');\n }\n seen.push(value);\n if (Array.isArray(value)) {\n const rv = value.map(v => internalDeepClone(v, seen));\n seen.pop();\n return rv;\n }\n\n const obj: JSONValue = {};\n\n for (const k in value) {\n if (hasOwn(value, k)) {\n const v = (value as Record<string, ReadonlyJSONValue>)[k];\n if (v !== undefined) {\n obj[k] = internalDeepClone(v, seen);\n }\n }\n }\n seen.pop();\n return obj;\n }\n\n default:\n throw new Error(`Invalid type: ${typeof value}`);\n }\n}\n", "import {createContext, useContext} from 'react';\nimport type {Zero} from '../../zero-client/src/mod.js';\nimport type {Schema} from '../../zero-schema/src/mod.js';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst ZeroContext = createContext<unknown | undefined>(undefined);\n\nexport function useZero<S extends Schema>(): Zero<S> {\n const zero = useContext(ZeroContext);\n if (zero === undefined) {\n throw new Error('useZero must be used within a ZeroProvider');\n }\n return zero as Zero<S>;\n}\n\nexport function createUseZero<S extends Schema>() {\n return () => useZero<S>();\n}\n\nexport function ZeroProvider<S extends Schema>({\n children,\n zero,\n}: {\n children: React.ReactNode;\n zero: Zero<S>;\n}) {\n return <ZeroContext.Provider value={zero}>{children}</ZeroContext.Provider>;\n}\n"],
5
5
  "mappings": ";;;;;;AAAA,SAAQ,4BAA2B;;;ACG5B,SAAS,UAAU,OAAqC;AAC7D,QAAM,OAAiC,CAAC;AACxC,SAAO,kBAAkB,OAAO,IAAI;AACtC;AAEO,SAAS,kBACd,OACA,MACW;AACX,UAAQ,OAAO,OAAO;AAAA,IACpB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,IACT,KAAK,UAAU;AACb,UAAI,UAAU,MAAM;AAClB,eAAO;AAAA,MACT;AACA,UAAI,KAAK,SAAS,KAAK,GAAG;AACxB,cAAM,IAAI,MAAM,eAAe;AAAA,MACjC;AACA,WAAK,KAAK,KAAK;AACf,UAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,cAAM,KAAK,MAAM,IAAI,OAAK,kBAAkB,GAAG,IAAI,CAAC;AACpD,aAAK,IAAI;AACT,eAAO;AAAA,MACT;AAEA,YAAM,MAAiB,CAAC;AAExB,iBAAW,KAAK,OAAO;AACrB,YAAI,OAAO,OAAO,CAAC,GAAG;AACpB,gBAAM,IAAK,MAA4C,CAAC;AACxD,cAAI,MAAM,QAAW;AACnB,gBAAI,CAAC,IAAI,kBAAkB,GAAG,IAAI;AAAA,UACpC;AAAA,QACF;AAAA,MACF;AACA,WAAK,IAAI;AACT,aAAO;AAAA,IACT;AAAA,IAEA;AACE,YAAM,IAAI,MAAM,iBAAiB,OAAO,KAAK,EAAE;AAAA,EACnD;AACF;;;ACjDA,SAAQ,eAAe,kBAAiB;AA0B/B;AArBT,IAAM,cAAc,cAAmC,MAAS;AAEzD,SAAS,UAAqC;AACnD,QAAM,OAAO,WAAW,WAAW;AACnC,MAAI,SAAS,QAAW;AACtB,UAAM,IAAI,MAAM,4CAA4C;AAAA,EAC9D;AACA,SAAO;AACT;AAEO,SAAS,gBAAkC;AAChD,SAAO,MAAM,QAAW;AAC1B;AAEO,SAAS,aAA+B;AAAA,EAC7C;AAAA,EACA;AACF,GAGG;AACD,SAAO,oBAAC,YAAY,UAAZ,EAAqB,OAAO,MAAO,UAAS;AACtD;;;AFHO,SAAS,SAGd,GAA4B,SAAkB,MAA4B;AAC1E,QAAM,IAAI,QAAQ;AAClB,QAAM,OAAO,UAAU;AAAA,IACrB,EAAE;AAAA,IACF;AAAA,IACA,UAAU,EAAE,WAAW;AAAA,EACzB;AAEA,SAAO;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,EACP;AACF;AAEA,IAAM,aAAwB,CAAC;AAC/B,IAAM,qBAAqB,MAAM,MAAM;AAAC;AAExC,IAAM,mBAAmB;AAAA,EACvB,UAAU,CAAC,QAAW,EAAC,MAAM,UAAS,CAAC;AAAA,EACvC,QAAQ,CAAC,YAAY,EAAC,MAAM,UAAS,CAAC;AACxC;AAEA,SAAS,mBACP,UACsB;AACtB,SACE,WAAW,iBAAiB,WAAW,iBAAiB;AAE5D;AAkDA,IAAM,YAAN,MAAgB;AAAA;AAAA,EAEd,SAAS,oBAAI,IAAmC;AAAA,EAEhD,QACE,UACA,OACA,SAIA;AACA,QAAI,CAAC,SAAS;AACZ,aAAO;AAAA,QACL,aAAa,MAAM,mBAAmB,MAAM,OAAO,QAAQ;AAAA,QAC3D,yBAAyB;AAAA,MAC3B;AAAA,IACF;AAEA,UAAM,OAAO,MAAM,KAAK,IAAI;AAC5B,QAAI,WAAW,KAAK,OAAO,IAAI,IAAI;AACnC,QAAI,CAAC,UAAU;AACb,iBAAW,IAAI;AAAA,QACb;AAAA,QACA,UAAQ;AACN,gBAAM,WAAW,KAAK,OAAO,IAAI,IAAI;AAIrC,cAAI,YAAY,aAAa,MAAM;AACjC,kBAAM,IAAI,MAAM,qBAAqB;AAAA,UACvC;AACA,eAAK,OAAO,IAAI,MAAM,IAAI;AAAA,QAC5B;AAAA,QACA,MAAM;AACJ,eAAK,OAAO,OAAO,IAAI;AAAA,QACzB;AAAA,MACF;AACA,WAAK,OAAO,IAAI,MAAM,QAAQ;AAAA,IAChC;AACA,WAAO;AAAA,EACT;AACF;AAEA,IAAM,YAAY,IAAI,UAAU;AA2BhC,IAAM,cAAN,MAA0E;AAAA,EACxE;AAAA,EACS;AAAA,EACA;AAAA,EACA;AAAA,EACT;AAAA,EACA;AAAA,EAEA,YACE,OACA,gBACA,kBACA;AACA,SAAK,YAAY,mBAAmB,MAAM,OAAO,QAAQ;AACzD,SAAK,kBAAkB;AACvB,SAAK,oBAAoB;AACzB,SAAK,kBAAkB,oBAAI,IAAI;AAC/B,SAAK,SAAS;AAAA,EAChB;AAAA,EAEA,UAAU,CAAC,MAAiC,eAA2B;AACrE,UAAM,OACJ,SAAS,SACL,OACC,UAAU,IAAyB;AAC1C,SAAK,YAAY,CAAC,MAAM,EAAC,MAAM,WAAU,CAAC;AAC1C,eAAW,aAAa,KAAK,iBAAiB;AAC5C,gBAAU;AAAA,IACZ;AAAA,EACF;AAAA,EAEA,uBAAuB,MAAM;AAC3B,QAAI,KAAK,OAAO;AACd;AAAA,IACF;AAEA,SAAK,QAAQ,KAAK,OAAO,YAAY;AACrC,SAAK,MAAM,YAAY,KAAK,OAAO;AAEnC,SAAK,gBAAgB,IAAI;AAAA,EAC3B;AAAA,EAEA,cAAc,MAAM,KAAK;AAAA,EAEzB,0BAA0B,CAAC,cAAwC;AACjE,SAAK,gBAAgB,IAAI,SAAS;AAClC,SAAK,qBAAqB;AAC1B,WAAO,MAAM;AACX,WAAK,gBAAgB,OAAO,SAAS;AACrC,UAAI,KAAK,gBAAgB,SAAS,GAAG;AACnC,aAAK,OAAO,QAAQ;AACpB,aAAK,QAAQ;AACb,aAAK,kBAAkB;AAAA,MACzB;AAAA,IACF;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }
package/out/solid.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Zero
3
- } from "./chunk-NWHD4LHL.js";
3
+ } from "./chunk-VLJ76GO7.js";
4
4
  import "./chunk-HARIWJ2J.js";
5
5
  import "./chunk-ULOTOBTC.js";
6
6
  import {
@@ -29,16 +29,21 @@ var SolidView = class {
29
29
  #onDestroy;
30
30
  // Synthetic "root" entry that has a single "" relationship, so that we can
31
31
  // treat all changes, including the root change, generically.
32
- #root;
32
+ #rootStore;
33
33
  #setRoot;
34
+ #resultTypeStore;
35
+ #setResultType;
34
36
  constructor(input, format = { singular: false, relationships: {} }, onDestroy = () => {
35
- }) {
37
+ }, queryComplete = true) {
36
38
  this.#input = input;
37
39
  this.#format = format;
38
40
  this.#onDestroy = onDestroy;
39
- [this.#root, this.#setRoot] = createStore({
41
+ [this.#rootStore, this.#setRoot] = createStore({
40
42
  "": format.singular ? void 0 : []
41
43
  });
44
+ [this.#resultTypeStore, this.#setResultType] = createStore({
45
+ resultType: queryComplete === true ? "complete" : "unknown"
46
+ });
42
47
  input.setOutput(this);
43
48
  this.#setRoot(
44
49
  produce((draftRoot) => {
@@ -53,9 +58,17 @@ var SolidView = class {
53
58
  }
54
59
  })
55
60
  );
61
+ if (queryComplete !== true) {
62
+ void queryComplete.then(() => {
63
+ this.#setResultType({ resultType: "complete" });
64
+ });
65
+ }
56
66
  }
57
67
  get data() {
58
- return this.#root[""];
68
+ return this.#rootStore[""];
69
+ }
70
+ get resultType() {
71
+ return this.#resultTypeStore.resultType;
59
72
  }
60
73
  destroy() {
61
74
  this.#onDestroy();
@@ -74,8 +87,13 @@ var SolidView = class {
74
87
  );
75
88
  }
76
89
  };
77
- function solidViewFactory(_query, input, format, onDestroy) {
78
- const v = new SolidView(input, format, onDestroy);
90
+ function solidViewFactory(_query, input, format, onDestroy, _onTransactionCommit, queryComplete) {
91
+ const v = new SolidView(
92
+ input,
93
+ format,
94
+ onDestroy,
95
+ queryComplete
96
+ );
79
97
  return v;
80
98
  }
81
99
 
@@ -89,7 +107,7 @@ function useQuery(querySignal) {
89
107
  onCleanup(() => {
90
108
  view.destroy();
91
109
  });
92
- return view.data;
110
+ return [view.data, { type: view.resultType }];
93
111
  });
94
112
  }
95
113
  export {
package/out/solid.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../zero-solid/src/create-zero.ts", "../../zero-solid/src/use-query.ts", "../../zero-solid/src/solid-view.ts"],
4
- "sourcesContent": ["import {batch} from 'solid-js';\nimport {Zero, type ZeroOptions} from '../../zero-client/src/mod.js';\nimport type {ZeroAdvancedOptions} from '../../zero-advanced/src/mod.js';\nimport type {Schema} from '../../zero-schema/src/mod.js';\n\nexport function createZero<S extends Schema>(options: ZeroOptions<S>): Zero<S> {\n const opts: ZeroAdvancedOptions<S> = {\n ...options,\n batchViewUpdates: batch,\n };\n return new Zero(opts);\n}\n", "import {type Accessor, createMemo, onCleanup} from 'solid-js';\nimport type {\n Query,\n AdvancedQuery,\n QueryType,\n Smash,\n TableSchema,\n} from '../../zero-advanced/src/mod.js';\nimport {solidViewFactory} from './solid-view.js';\n\nexport function useQuery<\n TSchema extends TableSchema,\n TReturn extends QueryType,\n>(querySignal: () => Query<TSchema, TReturn>): Accessor<Smash<TReturn>> {\n return createMemo(() => {\n const query = querySignal();\n const view = (query as AdvancedQuery<TSchema, TReturn>).materialize(\n solidViewFactory,\n );\n\n onCleanup(() => {\n view.destroy();\n });\n\n return view.data;\n });\n}\n", "import {createStore, produce, type SetStoreFunction} from 'solid-js/store';\nimport {\n applyChange,\n type Change,\n type Entry,\n type Format,\n type Input,\n type Output,\n type Query,\n type QueryType,\n type Smash,\n type TableSchema,\n type View,\n} from '../../zero-advanced/src/mod.js';\n\nexport class SolidView<V extends View> implements Output {\n readonly #input: Input;\n readonly #format: Format;\n readonly #onDestroy: () => void;\n\n // Synthetic \"root\" entry that has a single \"\" relationship, so that we can\n // treat all changes, including the root change, generically.\n readonly #root: Entry;\n readonly #setRoot: SetStoreFunction<Entry>;\n\n constructor(\n input: Input,\n format: Format = {singular: false, relationships: {}},\n onDestroy: () => void = () => {},\n ) {\n this.#input = input;\n this.#format = format;\n this.#onDestroy = onDestroy;\n [this.#root, this.#setRoot] = createStore({\n '': format.singular ? undefined : [],\n });\n input.setOutput(this);\n\n this.#setRoot(\n produce(draftRoot => {\n for (const node of input.fetch({})) {\n applyChange(\n draftRoot,\n {type: 'add', node},\n input.getSchema(),\n '',\n this.#format,\n );\n }\n }),\n );\n }\n\n get data() {\n return this.#root[''] as V;\n }\n\n destroy() {\n this.#onDestroy();\n }\n\n push(change: Change): void {\n this.#setRoot(\n produce(draftRoot => {\n applyChange(\n draftRoot,\n change,\n this.#input.getSchema(),\n '',\n this.#format,\n );\n }),\n );\n }\n}\n\nexport function solidViewFactory<\n TSchema extends TableSchema,\n TReturn extends QueryType,\n>(\n _query: Query<TSchema, TReturn>,\n input: Input,\n format: Format,\n onDestroy: () => void,\n): SolidView<Smash<TReturn>> {\n const v = new SolidView<Smash<TReturn>>(input, format, onDestroy);\n\n return v;\n}\n"],
5
- "mappings": ";;;;;;;;;;;AAAA,SAAQ,aAAY;AAKb,SAAS,WAA6B,SAAkC;AAC7E,QAAM,OAA+B;AAAA,IACnC,GAAG;AAAA,IACH,kBAAkB;AAAA,EACpB;AACA,SAAO,IAAI,KAAK,IAAI;AACtB;;;ACXA,SAAuB,YAAY,iBAAgB;;;ACAnD,SAAQ,aAAa,eAAqC;AAenD,IAAM,YAAN,MAAkD;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA,EAIA;AAAA,EACA;AAAA,EAET,YACE,OACA,SAAiB,EAAC,UAAU,OAAO,eAAe,CAAC,EAAC,GACpD,YAAwB,MAAM;AAAA,EAAC,GAC/B;AACA,SAAK,SAAS;AACd,SAAK,UAAU;AACf,SAAK,aAAa;AAClB,KAAC,KAAK,OAAO,KAAK,QAAQ,IAAI,YAAY;AAAA,MACxC,IAAI,OAAO,WAAW,SAAY,CAAC;AAAA,IACrC,CAAC;AACD,UAAM,UAAU,IAAI;AAEpB,SAAK;AAAA,MACH,QAAQ,eAAa;AACnB,mBAAW,QAAQ,MAAM,MAAM,CAAC,CAAC,GAAG;AAClC;AAAA,YACE;AAAA,YACA,EAAC,MAAM,OAAO,KAAI;AAAA,YAClB,MAAM,UAAU;AAAA,YAChB;AAAA,YACA,KAAK;AAAA,UACP;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEA,IAAI,OAAO;AACT,WAAO,KAAK,MAAM,EAAE;AAAA,EACtB;AAAA,EAEA,UAAU;AACR,SAAK,WAAW;AAAA,EAClB;AAAA,EAEA,KAAK,QAAsB;AACzB,SAAK;AAAA,MACH,QAAQ,eAAa;AACnB;AAAA,UACE;AAAA,UACA;AAAA,UACA,KAAK,OAAO,UAAU;AAAA,UACtB;AAAA,UACA,KAAK;AAAA,QACP;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;AAEO,SAAS,iBAId,QACA,OACA,QACA,WAC2B;AAC3B,QAAM,IAAI,IAAI,UAA0B,OAAO,QAAQ,SAAS;AAEhE,SAAO;AACT;;;AD9EO,SAAS,SAGd,aAAsE;AACtE,SAAO,WAAW,MAAM;AACtB,UAAM,QAAQ,YAAY;AAC1B,UAAM,OAAQ,MAA0C;AAAA,MACtD;AAAA,IACF;AAEA,cAAU,MAAM;AACd,WAAK,QAAQ;AAAA,IACf,CAAC;AAED,WAAO,KAAK;AAAA,EACd,CAAC;AACH;",
4
+ "sourcesContent": ["import {batch} from 'solid-js';\nimport {Zero, type ZeroOptions} from '../../zero-client/src/mod.js';\nimport type {ZeroAdvancedOptions} from '../../zero-advanced/src/mod.js';\nimport type {Schema} from '../../zero-schema/src/mod.js';\n\nexport function createZero<S extends Schema>(options: ZeroOptions<S>): Zero<S> {\n const opts: ZeroAdvancedOptions<S> = {\n ...options,\n batchViewUpdates: batch,\n };\n return new Zero(opts);\n}\n", "import {type Accessor, createMemo, onCleanup} from 'solid-js';\nimport type {\n Query,\n AdvancedQuery,\n QueryType,\n Smash,\n TableSchema,\n} from '../../zero-advanced/src/mod.js';\nimport {solidViewFactory} from './solid-view.js';\nimport type {ResultType} from '../../zql/src/query/typed-view.js';\n\nexport type QueryResultDetails = Readonly<{\n type: ResultType;\n}>;\n\nexport type QueryResult<TReturn extends QueryType> = readonly [\n Smash<TReturn>,\n QueryResultDetails,\n];\n\nexport function useQuery<\n TSchema extends TableSchema,\n TReturn extends QueryType,\n>(querySignal: () => Query<TSchema, TReturn>): Accessor<QueryResult<TReturn>> {\n return createMemo(() => {\n const query = querySignal();\n const view = (query as AdvancedQuery<TSchema, TReturn>).materialize(\n solidViewFactory,\n );\n\n onCleanup(() => {\n view.destroy();\n });\n\n return [view.data, {type: view.resultType}] as const;\n });\n}\n", "import {createStore, produce, type SetStoreFunction} from 'solid-js/store';\nimport {\n applyChange,\n type Change,\n type Entry,\n type Format,\n type Input,\n type Output,\n type Query,\n type QueryType,\n type Smash,\n type TableSchema,\n type View,\n type ViewFactory,\n} from '../../zero-advanced/src/mod.js';\nimport type {ResultType} from '../../zql/src/query/typed-view.js';\n\nexport class SolidView<V extends View> implements Output {\n readonly #input: Input;\n readonly #format: Format;\n readonly #onDestroy: () => void;\n\n // Synthetic \"root\" entry that has a single \"\" relationship, so that we can\n // treat all changes, including the root change, generically.\n readonly #rootStore: Entry;\n readonly #setRoot: SetStoreFunction<Entry>;\n\n readonly #resultTypeStore: {resultType: ResultType};\n readonly #setResultType: SetStoreFunction<{resultType: ResultType}>;\n\n constructor(\n input: Input,\n format: Format = {singular: false, relationships: {}},\n onDestroy: () => void = () => {},\n queryComplete: true | Promise<true> = true,\n ) {\n this.#input = input;\n this.#format = format;\n this.#onDestroy = onDestroy;\n [this.#rootStore, this.#setRoot] = createStore({\n '': format.singular ? undefined : [],\n });\n [this.#resultTypeStore, this.#setResultType] = createStore({\n resultType: queryComplete === true ? 'complete' : 'unknown',\n });\n input.setOutput(this);\n\n this.#setRoot(\n produce(draftRoot => {\n for (const node of input.fetch({})) {\n applyChange(\n draftRoot,\n {type: 'add', node},\n input.getSchema(),\n '',\n this.#format,\n );\n }\n }),\n );\n if (queryComplete !== true) {\n void queryComplete.then(() => {\n this.#setResultType({resultType: 'complete'});\n });\n }\n }\n\n get data() {\n return this.#rootStore[''] as V;\n }\n\n get resultType() {\n return this.#resultTypeStore.resultType;\n }\n\n destroy() {\n this.#onDestroy();\n }\n\n push(change: Change): void {\n this.#setRoot(\n produce(draftRoot => {\n applyChange(\n draftRoot,\n change,\n this.#input.getSchema(),\n '',\n this.#format,\n );\n }),\n );\n }\n}\n\nexport function solidViewFactory<\n TSchema extends TableSchema,\n TReturn extends QueryType,\n>(\n _query: Query<TSchema, TReturn>,\n input: Input,\n format: Format,\n onDestroy: () => void,\n _onTransactionCommit: (cb: () => void) => void,\n queryComplete: true | Promise<true>,\n): SolidView<Smash<TReturn>> {\n const v = new SolidView<Smash<TReturn>>(\n input,\n format,\n onDestroy,\n queryComplete,\n );\n\n return v;\n}\n\nsolidViewFactory satisfies ViewFactory<TableSchema, QueryType, unknown>;\n"],
5
+ "mappings": ";;;;;;;;;;;AAAA,SAAQ,aAAY;AAKb,SAAS,WAA6B,SAAkC;AAC7E,QAAM,OAA+B;AAAA,IACnC,GAAG;AAAA,IACH,kBAAkB;AAAA,EACpB;AACA,SAAO,IAAI,KAAK,IAAI;AACtB;;;ACXA,SAAuB,YAAY,iBAAgB;;;ACAnD,SAAQ,aAAa,eAAqC;AAiBnD,IAAM,YAAN,MAAkD;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA,EAIA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EAET,YACE,OACA,SAAiB,EAAC,UAAU,OAAO,eAAe,CAAC,EAAC,GACpD,YAAwB,MAAM;AAAA,EAAC,GAC/B,gBAAsC,MACtC;AACA,SAAK,SAAS;AACd,SAAK,UAAU;AACf,SAAK,aAAa;AAClB,KAAC,KAAK,YAAY,KAAK,QAAQ,IAAI,YAAY;AAAA,MAC7C,IAAI,OAAO,WAAW,SAAY,CAAC;AAAA,IACrC,CAAC;AACD,KAAC,KAAK,kBAAkB,KAAK,cAAc,IAAI,YAAY;AAAA,MACzD,YAAY,kBAAkB,OAAO,aAAa;AAAA,IACpD,CAAC;AACD,UAAM,UAAU,IAAI;AAEpB,SAAK;AAAA,MACH,QAAQ,eAAa;AACnB,mBAAW,QAAQ,MAAM,MAAM,CAAC,CAAC,GAAG;AAClC;AAAA,YACE;AAAA,YACA,EAAC,MAAM,OAAO,KAAI;AAAA,YAClB,MAAM,UAAU;AAAA,YAChB;AAAA,YACA,KAAK;AAAA,UACP;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AACA,QAAI,kBAAkB,MAAM;AAC1B,WAAK,cAAc,KAAK,MAAM;AAC5B,aAAK,eAAe,EAAC,YAAY,WAAU,CAAC;AAAA,MAC9C,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEA,IAAI,OAAO;AACT,WAAO,KAAK,WAAW,EAAE;AAAA,EAC3B;AAAA,EAEA,IAAI,aAAa;AACf,WAAO,KAAK,iBAAiB;AAAA,EAC/B;AAAA,EAEA,UAAU;AACR,SAAK,WAAW;AAAA,EAClB;AAAA,EAEA,KAAK,QAAsB;AACzB,SAAK;AAAA,MACH,QAAQ,eAAa;AACnB;AAAA,UACE;AAAA,UACA;AAAA,UACA,KAAK,OAAO,UAAU;AAAA,UACtB;AAAA,UACA,KAAK;AAAA,QACP;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;AAEO,SAAS,iBAId,QACA,OACA,QACA,WACA,sBACA,eAC2B;AAC3B,QAAM,IAAI,IAAI;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,SAAO;AACT;;;AD7FO,SAAS,SAGd,aAA4E;AAC5E,SAAO,WAAW,MAAM;AACtB,UAAM,QAAQ,YAAY;AAC1B,UAAM,OAAQ,MAA0C;AAAA,MACtD;AAAA,IACF;AAEA,cAAU,MAAM;AACd,WAAK,QAAQ;AAAA,IACf,CAAC;AAED,WAAO,CAAC,KAAK,MAAM,EAAC,MAAM,KAAK,WAAU,CAAC;AAAA,EAC5C,CAAC;AACH;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  export type { Change } from '../../zql/src/ivm/change.js';
2
2
  export type { Input, Output } from '../../zql/src/ivm/operator.js';
3
3
  export { applyChange } from '../../zql/src/ivm/view-apply-change.js';
4
- export type { Entry, Format, View } from '../../zql/src/ivm/view.js';
4
+ export type { Entry, Format, View, ViewFactory } from '../../zql/src/ivm/view.js';
5
5
  export type { AdvancedQuery } from '../../zql/src/query/query-internal.js';
6
6
  export type { Query, QueryType, Smash } from '../../zql/src/query/query.js';
7
7
  export type { TableSchema } from '../../zero-schema/src/table-schema.js';
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../zero-advanced/src/mod.ts"],"names":[],"mappings":"AAAA,YAAY,EAAC,MAAM,EAAC,MAAM,6BAA6B,CAAC;AACxD,YAAY,EAAC,KAAK,EAAE,MAAM,EAAC,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAC,WAAW,EAAC,MAAM,wCAAwC,CAAC;AACnE,YAAY,EAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAC,MAAM,2BAA2B,CAAC;AACnE,YAAY,EAAC,aAAa,EAAC,MAAM,uCAAuC,CAAC;AACzE,YAAY,EAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAC,MAAM,8BAA8B,CAAC;AAC1E,YAAY,EAAC,WAAW,EAAC,MAAM,uCAAuC,CAAC;AACvE,YAAY,EAAC,mBAAmB,EAAC,MAAM,yCAAyC,CAAC"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../zero-advanced/src/mod.ts"],"names":[],"mappings":"AAAA,YAAY,EAAC,MAAM,EAAC,MAAM,6BAA6B,CAAC;AACxD,YAAY,EAAC,KAAK,EAAE,MAAM,EAAC,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAC,WAAW,EAAC,MAAM,wCAAwC,CAAC;AACnE,YAAY,EAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAChF,YAAY,EAAC,aAAa,EAAC,MAAM,uCAAuC,CAAC;AACzE,YAAY,EAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAC,MAAM,8BAA8B,CAAC;AAC1E,YAAY,EAAC,WAAW,EAAC,MAAM,uCAAuC,CAAC;AACvE,YAAY,EAAC,mBAAmB,EAAC,MAAM,yCAAyC,CAAC"}
@@ -195,6 +195,16 @@ export declare const zeroOptions: {
195
195
  type: v.Optional<string>;
196
196
  desc: string[];
197
197
  };
198
+ initialSync: {
199
+ tableCopyWorkers: {
200
+ type: v.Type<number>;
201
+ desc: string[];
202
+ };
203
+ rowBatchSize: {
204
+ type: v.Type<number>;
205
+ desc: string[];
206
+ };
207
+ };
198
208
  tenantID: {
199
209
  type: v.Optional<string>;
200
210
  desc: string[];
@@ -353,6 +363,16 @@ export declare function getDebugConfig(env?: NodeJS.ProcessEnv, argv?: string[])
353
363
  type: v.Optional<string>;
354
364
  desc: string[];
355
365
  };
366
+ initialSync: {
367
+ tableCopyWorkers: {
368
+ type: v.Type<number>;
369
+ desc: string[];
370
+ };
371
+ rowBatchSize: {
372
+ type: v.Type<number>;
373
+ desc: string[];
374
+ };
375
+ };
356
376
  tenantID: {
357
377
  type: v.Optional<string>;
358
378
  desc: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"zero-config.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/config/zero-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAe,KAAK,MAAM,EAAC,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,CAAC,MAAM,+BAA+B,CAAC;AAInD;;GAEG;AACH,QAAA,MAAM,YAAY;;;;;;;;;;CAqCjB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,YAAY,CAAC,CAAC;AAEtD,QAAA,MAAM,UAAU;;;;;;;;;;CAyBf,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,UAAU,CAAC,CAAC;AAElD,QAAA,MAAM,oBAAoB;;;;;;;;;CAczB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAE5D,QAAA,MAAM,WAAW;;;;;;;;;;;;;CAmBhB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AAKpD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiOvB,CAAC;AAgBF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AAEpD,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAI3C,wBAAgB,aAAa,CAC3B,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,IAAI,WAAwB,GAC3B,UAAU,CAUZ;AAED,wBAAgB,cAAc,CAC5B,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,IAAI,WAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAG7B"}
1
+ {"version":3,"file":"zero-config.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/config/zero-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAe,KAAK,MAAM,EAAC,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,CAAC,MAAM,+BAA+B,CAAC;AAInD;;GAEG;AACH,QAAA,MAAM,YAAY;;;;;;;;;;CAqCjB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,YAAY,CAAC,CAAC;AAEtD,QAAA,MAAM,UAAU;;;;;;;;;;CAyBf,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,UAAU,CAAC,CAAC;AAElD,QAAA,MAAM,oBAAoB;;;;;;;;;CAczB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAE5D,QAAA,MAAM,WAAW;;;;;;;;;;;;;CAmBhB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AAKpD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsPvB,CAAC;AAgBF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AAEpD,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAI3C,wBAAgB,aAAa,CAC3B,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,IAAI,WAAwB,GAC3B,UAAU,CAUZ;AAED,wBAAgB,cAAc,CAC5B,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,IAAI,WAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAG7B"}
@@ -298,6 +298,25 @@ export const zeroOptions = {
298
298
  `tmp directory for IVM operator storage. Leave unset to use os.tmpdir()`,
299
299
  ],
300
300
  },
301
+ initialSync: {
302
+ tableCopyWorkers: {
303
+ type: v.number().default(5),
304
+ desc: [
305
+ `The number of parallel workers used to copy tables during initial sync.`,
306
+ `Each worker copies a single table at a time, fetching rows in batches of`,
307
+ `of {bold initial-sync-row-batch-size}.`,
308
+ ],
309
+ },
310
+ rowBatchSize: {
311
+ type: v.number().default(10000),
312
+ desc: [
313
+ `The number of rows each table copy worker fetches at a time during`,
314
+ `initial sync. This can be increased to speed up initial sync, or decreased`,
315
+ `to reduce the amount of heap memory used during initial sync (e.g. for tables`,
316
+ `with large rows).`,
317
+ ],
318
+ },
319
+ },
301
320
  tenantID: {
302
321
  type: v.string().optional(),
303
322
  desc: ['Passed by multi/main.ts to tag the LogContext of zero-caches'],
@@ -1 +1 @@
1
- {"version":3,"file":"zero-config.js","sourceRoot":"","sources":["../../../../../zero-cache/src/config/zero-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zero-config.js","sourceRoot":"","sources":["../../../../../zero-cache/src/config/zero-config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"change-streamer.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/server/change-streamer.ts"],"names":[],"mappings":"AAUA,OAAO,EAGL,KAAK,MAAM,EACZ,MAAM,uBAAuB,CAAC;AAI/B,wBAA8B,SAAS,CACrC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB,OAAO,CAAC,IAAI,CAAC,CAmEf"}
1
+ {"version":3,"file":"change-streamer.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/server/change-streamer.ts"],"names":[],"mappings":"AAUA,OAAO,EAGL,KAAK,MAAM,EACZ,MAAM,uBAAuB,CAAC;AAI/B,wBAA8B,SAAS,CACrC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB,OAAO,CAAC,IAAI,CAAC,CAoEf"}
@@ -29,7 +29,7 @@ export default async function runWorker(parent, env) {
29
29
  for (const first of [true, false]) {
30
30
  try {
31
31
  // Note: This performs initial sync of the replica if necessary.
32
- const { changeSource, replicationConfig } = await initializeChangeSource(lc, config.upstream.db, config.shard, config.replicaFile);
32
+ const { changeSource, replicationConfig } = await initializeChangeSource(lc, config.upstream.db, config.shard, config.replicaFile, config.initialSync);
33
33
  changeStreamer = await initializeStreamer(lc, changeDB, changeSource, replicationConfig, autoReset ?? false);
34
34
  break;
35
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"change-streamer.js","sourceRoot":"","sources":["../../../../../zero-cache/src/server/change-streamer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"change-streamer.js","sourceRoot":"","sources":["../../../../../zero-cache/src/server/change-streamer.ts"],"names":[],"mappings":"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"}
@@ -143,6 +143,16 @@ export declare const multiConfigSchema: {
143
143
  type: v.Optional<string>;
144
144
  desc: string[];
145
145
  };
146
+ initialSync: {
147
+ tableCopyWorkers: {
148
+ type: v.Type<number>;
149
+ desc: string[];
150
+ };
151
+ rowBatchSize: {
152
+ type: v.Type<number>;
153
+ desc: string[];
154
+ };
155
+ };
146
156
  tenantID: {
147
157
  type: v.Optional<string>;
148
158
  desc: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/server/multi/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,MAAM,EACZ,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,CAAC,MAAM,kCAAkC,CAAC;AAKtD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoC7B,CAAC;AAsBF,QAAA,MAAM,aAAa;;;;;;;;;aAEjB,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,GACzD,IAAI,CAAC,MAAM,CAAC,OAAO,iBAAiB,CAAC,EAAE,aAAa,CAAC,CAAC;AAExD,wBAAgB,kBAAkB,CAChC,UAAU,GAAE,MAAM,CAAC,UAAwB,EAC3C,IAAI,WAAwB,GAC3B;IAAC,MAAM,EAAE,eAAe,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;CAAC,CAgBnD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/server/multi/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,MAAM,EACZ,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,CAAC,MAAM,kCAAkC,CAAC;AAKtD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoC7B,CAAC;AAsBF,QAAA,MAAM,aAAa;;;;;;;;;aAEjB,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,GACzD,IAAI,CAAC,MAAM,CAAC,OAAO,iBAAiB,CAAC,EAAE,aAAa,CAAC,CAAC;AAExD,wBAAgB,kBAAkB,CAChC,UAAU,GAAE,MAAM,CAAC,UAAwB,EAC3C,IAAI,WAAwB,GAC3B;IAAC,MAAM,EAAE,eAAe,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;CAAC,CAgBnD"}
@@ -25,7 +25,7 @@ export class TenantDispatcher extends HttpService {
25
25
  this._lc.debug?.(`connecting ${host}${pathname} to ${t.id}`);
26
26
  return { payload: t.id, receiver: t.worker };
27
27
  }
28
- throw new Error(`no matching tenant for: ${u}`);
28
+ throw new Error(`no matching tenant for: ${host}${pathname}`);
29
29
  }
30
30
  }
31
31
  //# sourceMappingURL=tenant-dispatcher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tenant-dispatcher.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/server/multi/tenant-dispatcher.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,uBAAuB,EAAC,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAC,WAAW,EAAe,MAAM,gCAAgC,CAAC;AAWzE,MAAM,OAAO,gBAAiB,SAAQ,WAAW;IACtC,EAAE,GAAG,mBAAmB,CAAC;IACzB,QAAQ,CAAW;IAE5B,YAAY,EAAc,EAAE,OAAiB,EAAE,IAAa;QAC1D,KAAK,CAAC,mBAAmB,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE;YAC7C,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAChD,uBAAuB,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,yDAAyD;QACzD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,QAAQ,CAAC,GAA0B;QACjC,MAAM,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAC,GAAG,GAAG,CAAC;QAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;QACzC,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,UAAU,IAAI,GAAG,CAAC,CAAC;QAEvD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBAC9B,SAAS;YACX,CAAC;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;gBACxE,SAAS;YACX,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,cAAc,IAAI,GAAG,QAAQ,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAE7D,OAAO,EAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAC,CAAC;QAC7C,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;CACF"}
1
+ {"version":3,"file":"tenant-dispatcher.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/server/multi/tenant-dispatcher.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,uBAAuB,EAAC,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAC,WAAW,EAAe,MAAM,gCAAgC,CAAC;AAWzE,MAAM,OAAO,gBAAiB,SAAQ,WAAW;IACtC,EAAE,GAAG,mBAAmB,CAAC;IACzB,QAAQ,CAAW;IAE5B,YAAY,EAAc,EAAE,OAAiB,EAAE,IAAa;QAC1D,KAAK,CAAC,mBAAmB,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE;YAC7C,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAChD,uBAAuB,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,yDAAyD;QACzD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,QAAQ,CAAC,GAA0B;QACjC,MAAM,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAC,GAAG,GAAG,CAAC;QAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;QACzC,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,UAAU,IAAI,GAAG,CAAC,CAAC;QAEvD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBAC9B,SAAS;YACX,CAAC;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;gBACxE,SAAS;YACX,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,cAAc,IAAI,GAAG,QAAQ,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAE7D,OAAO,EAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAC,CAAC;QAC7C,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,GAAG,QAAQ,EAAE,CAAC,CAAC;IAChE,CAAC;CACF"}
@@ -4,6 +4,7 @@ import type { MessageRelation } from 'pg-logical-replication/dist/output-plugins
4
4
  import type { PublishedTableSpec } from '../../../db/specs.js';
5
5
  import type { ChangeSource } from '../change-streamer-service.js';
6
6
  import { type ReplicationConfig } from '../schema/tables.js';
7
+ import { type InitialSyncOptions } from './initial-sync.js';
7
8
  import { type PublishedSchema } from './schema/published.js';
8
9
  import type { ShardConfig } from './shard-config.js';
9
10
  /**
@@ -11,7 +12,7 @@ import type { ShardConfig } from './shard-config.js';
11
12
  * replica, before streaming changes from the corresponding logical replication
12
13
  * stream.
13
14
  */
14
- export declare function initializeChangeSource(lc: LogContext, upstreamURI: string, shard: ShardConfig, replicaDbFile: string): Promise<{
15
+ export declare function initializeChangeSource(lc: LogContext, upstreamURI: string, shard: ShardConfig, replicaDbFile: string, syncOptions: InitialSyncOptions): Promise<{
15
16
  replicationConfig: ReplicationConfig;
16
17
  changeSource: ChangeSource;
17
18
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"change-source.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-streamer/pg/change-source.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EACL,yBAAyB,EAG1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAEV,eAAe,EAChB,MAAM,uEAAuE,CAAC;AAc/E,OAAO,KAAK,EAEV,kBAAkB,EAEnB,MAAM,sBAAsB,CAAC;AAgB9B,OAAO,KAAK,EACV,YAAY,EAGb,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAkB,KAAK,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AAK5E,OAAO,EAAqB,KAAK,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAO/E,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAMnD;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,UAAU,EACd,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,WAAW,EAClB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC;IAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAAC,YAAY,EAAE,YAAY,CAAA;CAAC,CAAC,CA2C7E;AAqQD,qBAAa,KAAK;;gBAKJ,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM;IAKxE,MAAM,CAAC,GAAG,EAAE,MAAM;IAIlB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAUzC,KAAK,CAAC,WAAW,EAAE,MAAM;CAS1B;AA8XD,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,eAAe,EAClB,CAAC,EAAE,eAAe,EAClB,EAAE,CAAC,EAAE,UAAU,WAchB;AAMD,wBAAgB,eAAe,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,kBAAkB,WAsB3E;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,eAAe,WAkB1E;AAwBD,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,QAAQ,CAAC,IAAI,kCAAkC;;CAOhD"}
1
+ {"version":3,"file":"change-source.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-streamer/pg/change-source.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EACL,yBAAyB,EAG1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAEV,eAAe,EAChB,MAAM,uEAAuE,CAAC;AAc/E,OAAO,KAAK,EAEV,kBAAkB,EAEnB,MAAM,sBAAsB,CAAC;AAgB9B,OAAO,KAAK,EACV,YAAY,EAGb,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAkB,KAAK,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAkB,KAAK,kBAAkB,EAAC,MAAM,mBAAmB,CAAC;AAI3E,OAAO,EAAqB,KAAK,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAO/E,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAMnD;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,UAAU,EACd,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,WAAW,EAClB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,kBAAkB,GAC9B,OAAO,CAAC;IAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAAC,YAAY,EAAE,YAAY,CAAA;CAAC,CAAC,CA4C7E;AA2QD,qBAAa,KAAK;;gBAKJ,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM;IAKxE,MAAM,CAAC,GAAG,EAAE,MAAM;IAIlB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAUzC,KAAK,CAAC,WAAW,EAAE,MAAM;CAS1B;AA8XD,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,eAAe,EAClB,CAAC,EAAE,eAAe,EAClB,EAAE,CAAC,EAAE,UAAU,WAchB;AAMD,wBAAgB,eAAe,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,kBAAkB,WAsB3E;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,eAAe,WAkB1E;AAwBD,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,QAAQ,CAAC,IAAI,kCAAkC;;CAOhD"}
@@ -35,8 +35,8 @@ registerPostgresTypeParsers();
35
35
  * replica, before streaming changes from the corresponding logical replication
36
36
  * stream.
37
37
  */
38
- export async function initializeChangeSource(lc, upstreamURI, shard, replicaDbFile) {
39
- await initSyncSchema(lc, `replica-${shard.id}`, shard, replicaDbFile, upstreamURI);
38
+ export async function initializeChangeSource(lc, upstreamURI, shard, replicaDbFile, syncOptions) {
39
+ await initSyncSchema(lc, `replica-${shard.id}`, shard, replicaDbFile, upstreamURI, syncOptions);
40
40
  const replica = new Database(lc, replicaDbFile);
41
41
  const replicationConfig = getSubscriptionState(new StatementRunner(replica));
42
42
  replica.close();
@@ -65,10 +65,14 @@ export async function initializeChangeSource(lc, upstreamURI, shard, replicaDbFi
65
65
  async function checkAndUpdateUpstream(lc, db, shard) {
66
66
  const slot = replicationSlot(shard.id);
67
67
  const result = await db `
68
- SELECT slot_name FROM pg_replication_slots WHERE slot_name = ${slot}`;
68
+ SELECT restart_lsn as "restartLSN" FROM pg_replication_slots WHERE slot_name = ${slot}`;
69
69
  if (result.length === 0) {
70
70
  throw new AutoResetSignal(`replication slot ${slot} is missing`);
71
71
  }
72
+ const [{ restartLSN }] = result;
73
+ if (restartLSN === null) {
74
+ throw new AutoResetSignal(`replication slot ${slot} has been invalidated for exceeding the max_slot_wal_keep_size`);
75
+ }
72
76
  // Perform any shard schema updates
73
77
  await updateShardSchema(lc, db, {
74
78
  id: shard.id,
@@ -626,7 +630,7 @@ function translateError(e) {
626
630
  return new Error(String(e));
627
631
  }
628
632
  if (e instanceof DatabaseError && e.code === PG_ADMIN_SHUTDOWN) {
629
- return new AbortError(e.message, { cause: e });
633
+ return new ShutdownSignal(e);
630
634
  }
631
635
  return e;
632
636
  }
@@ -647,4 +651,12 @@ export class UnsupportedSchemaChangeError extends Error {
647
651
  super('Replication halted. Schema changes cannot be reliably replicated without event trigger support. Resync the replica to recover.');
648
652
  }
649
653
  }
654
+ class ShutdownSignal extends AbortError {
655
+ name = 'ShutdownSignal';
656
+ constructor(cause) {
657
+ super('shutdown signal received (e.g. another zero-cache taking over the replication stream)', {
658
+ cause,
659
+ });
660
+ }
661
+ }
650
662
  //# sourceMappingURL=change-source.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"change-source.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-streamer/pg/change-source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"change-source.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-streamer/pg/change-source.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
1
  import type { LogContext } from '@rocicorp/logger';
2
2
  import { Database } from '../../../../../zqlite/src/db.js';
3
3
  import type { ShardConfig } from './shard-config.js';
4
+ export type InitialSyncOptions = {
5
+ tableCopyWorkers: number;
6
+ rowBatchSize: number;
7
+ };
4
8
  export declare function replicationSlot(shardID: string): string;
5
- export declare function initialSync(lc: LogContext, shard: ShardConfig, tx: Database, upstreamURI: string): Promise<void>;
9
+ export declare function initialSync(lc: LogContext, shard: ShardConfig, tx: Database, upstreamURI: string, syncOptions: InitialSyncOptions): Promise<void>;
6
10
  //# sourceMappingURL=initial-sync.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"initial-sync.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-streamer/pg/initial-sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAC,QAAQ,EAAC,MAAM,iCAAiC,CAAC;AAgCzD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAKnD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,wBAAsB,WAAW,CAC/B,EAAE,EAAE,UAAU,EACd,KAAK,EAAE,WAAW,EAClB,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,MAAM,iBA0DpB"}
1
+ {"version":3,"file":"initial-sync.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-streamer/pg/initial-sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAC,QAAQ,EAAC,MAAM,iCAAiC,CAAC;AAgCzD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAEnD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAKF,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,wBAAsB,WAAW,CAC/B,EAAE,EAAE,UAAU,EACd,KAAK,EAAE,WAAW,EAClB,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,kBAAkB,iBA6DhC"}