@rocicorp/zero 0.5.2024103100 → 0.6.2024111600
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/{internal.js → advanced.js} +2 -2
- package/out/{chunk-TBA526RR.js → chunk-V5NTGJ4X.js} +1211 -624
- package/out/chunk-V5NTGJ4X.js.map +7 -0
- package/out/{chunk-RCVGGCMG.js → chunk-YCMA66NH.js} +2 -2
- package/out/{chunk-RCVGGCMG.js.map → chunk-YCMA66NH.js.map} +2 -2
- package/out/react.js.map +2 -2
- package/out/shared/src/browser-env.d.ts +17 -0
- package/out/shared/src/browser-env.d.ts.map +1 -1
- package/out/shared/src/expand.d.ts +7 -0
- package/out/shared/src/expand.d.ts.map +1 -0
- package/out/shared/src/valita.d.ts +7 -0
- package/out/shared/src/valita.d.ts.map +1 -1
- package/out/shared/src/valita.js +28 -0
- package/out/shared/src/valita.js.map +1 -1
- package/out/solid.js +5 -5
- package/out/solid.js.map +2 -2
- package/out/zero-advanced/src/mod.d.ts +7 -7
- package/out/zero-advanced/src/mod.d.ts.map +1 -1
- package/out/zero-cache/src/auth/load-authorization.d.ts +3 -0
- package/out/zero-cache/src/auth/load-authorization.d.ts.map +1 -0
- package/out/zero-cache/src/auth/load-authorization.js +21 -0
- package/out/zero-cache/src/auth/load-authorization.js.map +1 -0
- package/out/zero-cache/src/config/config.d.ts +112 -0
- package/out/zero-cache/src/config/config.d.ts.map +1 -0
- package/out/zero-cache/src/config/config.js +246 -0
- package/out/zero-cache/src/config/config.js.map +1 -0
- package/out/zero-cache/src/config/zero-config.d.ts +145 -964
- package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
- package/out/zero-cache/src/config/zero-config.js +242 -115
- package/out/zero-cache/src/config/zero-config.js.map +1 -1
- package/out/zero-cache/src/db/delete-lite-db.d.ts +2 -0
- package/out/zero-cache/src/db/delete-lite-db.d.ts.map +1 -0
- package/out/zero-cache/src/db/delete-lite-db.js +7 -0
- package/out/zero-cache/src/db/delete-lite-db.js.map +1 -0
- package/out/zero-cache/src/db/migration.d.ts +1 -0
- package/out/zero-cache/src/db/migration.d.ts.map +1 -1
- package/out/zero-cache/src/db/migration.js +17 -7
- package/out/zero-cache/src/db/migration.js.map +1 -1
- package/out/zero-cache/src/db/pg-to-lite.d.ts +1 -1
- package/out/zero-cache/src/db/pg-to-lite.d.ts.map +1 -1
- package/out/zero-cache/src/db/pg-to-lite.js +7 -3
- package/out/zero-cache/src/db/pg-to-lite.js.map +1 -1
- package/out/zero-cache/src/db/short-lived-client.d.ts +16 -0
- package/out/zero-cache/src/db/short-lived-client.d.ts.map +1 -0
- package/out/zero-cache/src/db/short-lived-client.js +50 -0
- package/out/zero-cache/src/db/short-lived-client.js.map +1 -0
- package/out/zero-cache/src/db/specs.d.ts +12 -3
- package/out/zero-cache/src/db/specs.d.ts.map +1 -1
- package/out/zero-cache/src/db/specs.js +6 -1
- package/out/zero-cache/src/db/specs.js.map +1 -1
- package/out/zero-cache/src/db/transaction-pool.d.ts +7 -2
- package/out/zero-cache/src/db/transaction-pool.d.ts.map +1 -1
- package/out/zero-cache/src/db/transaction-pool.js +42 -8
- package/out/zero-cache/src/db/transaction-pool.js.map +1 -1
- package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
- package/out/zero-cache/src/server/change-streamer.js +34 -9
- package/out/zero-cache/src/server/change-streamer.js.map +1 -1
- package/out/zero-cache/src/server/life-cycle.d.ts +1 -1
- package/out/zero-cache/src/server/life-cycle.d.ts.map +1 -1
- package/out/zero-cache/src/server/life-cycle.js +2 -3
- package/out/zero-cache/src/server/life-cycle.js.map +1 -1
- package/out/zero-cache/src/server/logging.d.ts.map +1 -1
- package/out/zero-cache/src/server/logging.js +2 -15
- package/out/zero-cache/src/server/logging.js.map +1 -1
- package/out/zero-cache/src/server/main.js +28 -10
- package/out/zero-cache/src/server/main.js.map +1 -1
- package/out/zero-cache/src/server/replicator.d.ts.map +1 -1
- package/out/zero-cache/src/server/replicator.js +6 -5
- package/out/zero-cache/src/server/replicator.js.map +1 -1
- package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
- package/out/zero-cache/src/server/syncer.js +16 -12
- package/out/zero-cache/src/server/syncer.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts +2 -3
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.js +2 -3
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts +153 -2
- package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-service.js +136 -19
- package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts +17 -9
- package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer.js +4 -2
- package/out/zero-cache/src/services/change-streamer/change-streamer.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/forwarder.d.ts +1 -0
- package/out/zero-cache/src/services/change-streamer/forwarder.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/forwarder.js +9 -2
- package/out/zero-cache/src/services/change-streamer/forwarder.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/change-source.d.ts +10 -0
- package/out/zero-cache/src/services/change-streamer/pg/change-source.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/change-source.js +171 -24
- package/out/zero-cache/src/services/change-streamer/pg/change-source.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/initial-sync.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/initial-sync.js +32 -18
- package/out/zero-cache/src/services/change-streamer/pg/initial-sync.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.d.ts +62 -39
- package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.js +8 -40
- package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/schema/init.d.ts +8 -0
- package/out/zero-cache/src/services/change-streamer/pg/schema/init.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/schema/init.js +41 -8
- package/out/zero-cache/src/services/change-streamer/pg/schema/init.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/schema/published.d.ts +83 -13
- package/out/zero-cache/src/services/change-streamer/pg/schema/published.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/schema/published.js +15 -5
- package/out/zero-cache/src/services/change-streamer/pg/schema/published.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/schema/shard.d.ts +39 -3
- package/out/zero-cache/src/services/change-streamer/pg/schema/shard.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/schema/shard.js +67 -36
- package/out/zero-cache/src/services/change-streamer/pg/schema/shard.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/schema/validation.d.ts +8 -0
- package/out/zero-cache/src/services/change-streamer/pg/schema/validation.d.ts.map +1 -0
- package/out/zero-cache/src/services/change-streamer/pg/schema/validation.js +33 -0
- package/out/zero-cache/src/services/change-streamer/pg/schema/validation.js.map +1 -0
- package/out/zero-cache/src/services/change-streamer/schema/change.d.ts +5 -1
- package/out/zero-cache/src/services/change-streamer/schema/change.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/schema/change.js +3 -0
- package/out/zero-cache/src/services/change-streamer/schema/change.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/schema/init.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/schema/init.js +4 -6
- package/out/zero-cache/src/services/change-streamer/schema/init.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts +6 -1
- package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/schema/tables.js +19 -4
- package/out/zero-cache/src/services/change-streamer/schema/tables.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/storer.d.ts +29 -2
- package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/storer.js +90 -8
- package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/subscriber.d.ts +1 -0
- package/out/zero-cache/src/services/change-streamer/subscriber.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/subscriber.js +18 -3
- package/out/zero-cache/src/services/change-streamer/subscriber.js.map +1 -1
- package/out/zero-cache/src/services/dispatcher/dispatcher.d.ts +5 -3
- package/out/zero-cache/src/services/dispatcher/dispatcher.d.ts.map +1 -1
- package/out/zero-cache/src/services/dispatcher/dispatcher.js +20 -5
- package/out/zero-cache/src/services/dispatcher/dispatcher.js.map +1 -1
- package/out/zero-cache/src/services/mutagen/mutagen.d.ts +6 -5
- package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
- package/out/zero-cache/src/services/mutagen/mutagen.js +26 -20
- package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
- package/out/zero-cache/src/services/mutagen/write-authorizer.d.ts +7 -6
- package/out/zero-cache/src/services/mutagen/write-authorizer.d.ts.map +1 -1
- package/out/zero-cache/src/services/mutagen/write-authorizer.js +12 -20
- package/out/zero-cache/src/services/mutagen/write-authorizer.js.map +1 -1
- package/out/zero-cache/src/services/replicator/incremental-sync.d.ts +1 -1
- package/out/zero-cache/src/services/replicator/incremental-sync.d.ts.map +1 -1
- package/out/zero-cache/src/services/replicator/incremental-sync.js +8 -8
- package/out/zero-cache/src/services/replicator/incremental-sync.js.map +1 -1
- package/out/zero-cache/src/services/replicator/schema/replication-state.d.ts.map +1 -1
- package/out/zero-cache/src/services/replicator/schema/replication-state.js +1 -10
- package/out/zero-cache/src/services/replicator/schema/replication-state.js.map +1 -1
- package/out/zero-cache/src/services/running-state.d.ts +6 -1
- package/out/zero-cache/src/services/running-state.d.ts.map +1 -1
- package/out/zero-cache/src/services/running-state.js +23 -5
- package/out/zero-cache/src/services/running-state.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/database-storage.d.ts +1 -1
- package/out/zero-cache/src/services/view-syncer/database-storage.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +1 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/schema/types.d.ts +49 -29
- package/out/zero-cache/src/services/view-syncer/schema/types.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.js +2 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
- package/out/zero-cache/src/types/lexi-version.d.ts +3 -2
- package/out/zero-cache/src/types/lexi-version.d.ts.map +1 -1
- package/out/zero-cache/src/types/lexi-version.js +8 -6
- package/out/zero-cache/src/types/lexi-version.js.map +1 -1
- package/out/zero-cache/src/types/lite.d.ts +1 -1
- package/out/zero-cache/src/types/lite.d.ts.map +1 -1
- package/out/zero-cache/src/types/lite.js +0 -1
- package/out/zero-cache/src/types/lite.js.map +1 -1
- package/out/zero-cache/src/types/processes.d.ts.map +1 -1
- package/out/zero-cache/src/types/processes.js +1 -0
- package/out/zero-cache/src/types/processes.js.map +1 -1
- package/out/zero-cache/src/workers/replicator.d.ts.map +1 -1
- package/out/zero-cache/src/workers/replicator.js +2 -4
- package/out/zero-cache/src/workers/replicator.js.map +1 -1
- package/out/zero-cache/src/workers/syncer.js +1 -1
- package/out/zero-cache/src/workers/syncer.js.map +1 -1
- package/out/zero-client/src/client/context.d.ts +4 -4
- package/out/zero-client/src/client/context.d.ts.map +1 -1
- package/out/zero-client/src/client/crud.d.ts +57 -26
- package/out/zero-client/src/client/crud.d.ts.map +1 -1
- package/out/zero-client/src/client/http-string.d.ts +1 -0
- package/out/zero-client/src/client/http-string.d.ts.map +1 -1
- package/out/zero-client/src/client/keys.d.ts +1 -1
- package/out/zero-client/src/client/keys.d.ts.map +1 -1
- package/out/zero-client/src/client/log-options.d.ts +2 -1
- package/out/zero-client/src/client/log-options.d.ts.map +1 -1
- package/out/zero-client/src/client/options.d.ts +9 -9
- package/out/zero-client/src/client/options.d.ts.map +1 -1
- package/out/zero-client/src/client/protocol-version.d.ts +2 -0
- package/out/zero-client/src/client/protocol-version.d.ts.map +1 -0
- package/out/zero-client/src/client/query-manager.d.ts +1 -1
- package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
- package/out/zero-client/src/client/server-option.d.ts.map +1 -1
- package/out/zero-client/src/client/zero-poke-handler.d.ts +1 -1
- package/out/zero-client/src/client/zero-poke-handler.d.ts.map +1 -1
- package/out/zero-client/src/client/zero.d.ts +27 -22
- package/out/zero-client/src/client/zero.d.ts.map +1 -1
- package/out/zero-client/src/mod.d.ts +8 -7
- package/out/zero-client/src/mod.d.ts.map +1 -1
- package/out/zero-protocol/src/ast.d.ts +37 -21
- package/out/zero-protocol/src/ast.d.ts.map +1 -1
- package/out/zero-protocol/src/ast.js +21 -6
- package/out/zero-protocol/src/ast.js.map +1 -1
- package/out/zero-protocol/src/change-desired-queries.d.ts +16 -8
- package/out/zero-protocol/src/change-desired-queries.d.ts.map +1 -1
- package/out/zero-protocol/src/connect.d.ts +16 -8
- package/out/zero-protocol/src/connect.d.ts.map +1 -1
- package/out/zero-protocol/src/down.d.ts +16 -8
- package/out/zero-protocol/src/down.d.ts.map +1 -1
- package/out/zero-protocol/src/poke.d.ts +32 -16
- package/out/zero-protocol/src/poke.d.ts.map +1 -1
- package/out/zero-protocol/src/push.d.ts +18 -18
- package/out/zero-protocol/src/push.d.ts.map +1 -1
- package/out/zero-protocol/src/push.js +5 -5
- package/out/zero-protocol/src/push.js.map +1 -1
- package/out/zero-protocol/src/queries-patch.d.ts +24 -12
- package/out/zero-protocol/src/queries-patch.d.ts.map +1 -1
- package/out/zero-protocol/src/up.d.ts +18 -10
- package/out/zero-protocol/src/up.d.ts.map +1 -1
- package/out/zero-react/src/use-query.d.ts +2 -1
- package/out/zero-react/src/use-query.d.ts.map +1 -1
- package/out/zero-react/src/use-zero.d.ts +2 -1
- package/out/zero-react/src/use-zero.d.ts.map +1 -1
- package/out/zero-schema/src/authorization.d.ts +25 -0
- package/out/zero-schema/src/authorization.d.ts.map +1 -0
- package/out/zero-schema/src/compiled-authorization.d.ts +379 -0
- package/out/zero-schema/src/compiled-authorization.d.ts.map +1 -0
- package/out/zero-schema/src/compiled-authorization.js +15 -0
- package/out/zero-schema/src/compiled-authorization.js.map +1 -0
- package/out/zero-schema/src/mod.d.ts +5 -0
- package/out/zero-schema/src/mod.d.ts.map +1 -0
- package/out/{zql/src/zql/query → zero-schema/src}/normalize-table-schema.d.ts +2 -3
- package/out/zero-schema/src/normalize-table-schema.d.ts.map +1 -0
- package/out/{zero-client/src/client → zero-schema/src}/normalized-schema.d.ts +2 -2
- package/out/zero-schema/src/normalized-schema.d.ts.map +1 -0
- package/out/zero-schema/src/schema.d.ts +9 -0
- package/out/zero-schema/src/schema.d.ts.map +1 -0
- package/out/{zql/src/zql/query/schema.d.ts → zero-schema/src/table-schema.d.ts} +47 -3
- package/out/zero-schema/src/table-schema.d.ts.map +1 -0
- package/out/{zql/src/zql/query/schema.js → zero-schema/src/table-schema.js} +1 -1
- package/out/zero-schema/src/table-schema.js.map +1 -0
- package/out/zero-solid/src/create-zero.d.ts +2 -1
- package/out/zero-solid/src/create-zero.d.ts.map +1 -1
- package/out/zero.js +6 -14
- package/out/zql/src/{zql/builder → builder}/builder.d.ts +5 -5
- package/out/zql/src/builder/builder.d.ts.map +1 -0
- package/out/zql/src/{zql/builder → builder}/builder.js +81 -33
- package/out/zql/src/builder/builder.js.map +1 -0
- package/out/zql/src/builder/error.d.ts.map +1 -0
- package/out/zql/src/builder/error.js.map +1 -0
- package/out/zql/src/builder/filter.d.ts +7 -0
- package/out/zql/src/builder/filter.d.ts.map +1 -0
- package/out/zql/src/{zql/builder → builder}/filter.js +19 -1
- package/out/zql/src/builder/filter.js.map +1 -0
- package/out/zql/src/builder/like.d.ts +3 -0
- package/out/zql/src/builder/like.d.ts.map +1 -0
- package/out/zql/src/{zql/builder → builder}/like.js +1 -1
- package/out/zql/src/builder/like.js.map +1 -0
- package/out/zql/src/ivm/array-view.d.ts.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/change.d.ts +2 -1
- package/out/zql/src/ivm/change.d.ts.map +1 -0
- package/out/zql/src/ivm/change.js +5 -0
- package/out/zql/src/ivm/change.js.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/data.d.ts +2 -2
- package/out/zql/src/ivm/data.d.ts.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/data.js +1 -1
- package/out/zql/src/ivm/data.js.map +1 -0
- package/out/zql/src/ivm/exists.d.ts +18 -0
- package/out/zql/src/ivm/exists.d.ts.map +1 -0
- package/out/zql/src/ivm/exists.js +186 -0
- package/out/zql/src/ivm/exists.js.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/fan-in.d.ts +3 -3
- package/out/zql/src/ivm/fan-in.d.ts.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/fan-in.js +8 -11
- package/out/zql/src/ivm/fan-in.js.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/fan-out.d.ts +1 -1
- package/out/zql/src/ivm/fan-out.d.ts.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/fan-out.js +8 -7
- package/out/zql/src/ivm/fan-out.js.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/filter.d.ts +3 -3
- package/out/zql/src/ivm/filter.d.ts.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/filter.js +2 -2
- package/out/zql/src/ivm/filter.js.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/join.d.ts +2 -2
- package/out/zql/src/ivm/join.d.ts.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/join.js +2 -2
- package/out/zql/src/ivm/join.js.map +1 -0
- package/out/zql/src/ivm/lookahead-iterator.d.ts.map +1 -0
- package/out/zql/src/ivm/lookahead-iterator.js.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/maybe-split-and-push-edit-change.d.ts +1 -1
- package/out/zql/src/ivm/maybe-split-and-push-edit-change.d.ts.map +1 -0
- package/out/zql/src/ivm/maybe-split-and-push-edit-change.js.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/memory-source.d.ts +16 -12
- package/out/zql/src/ivm/memory-source.d.ts.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/memory-source.js +72 -92
- package/out/zql/src/ivm/memory-source.js.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/memory-storage.d.ts +1 -1
- package/out/zql/src/ivm/memory-storage.d.ts.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/operator.d.ts +5 -5
- package/out/zql/src/ivm/operator.d.ts.map +1 -0
- package/out/zql/src/ivm/operator.js.map +1 -0
- package/out/zql/src/ivm/schema.d.ts +15 -0
- package/out/zql/src/ivm/schema.d.ts.map +1 -0
- package/out/zql/src/ivm/schema.js +2 -0
- package/out/zql/src/ivm/schema.js.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/skip.d.ts +3 -3
- package/out/zql/src/ivm/skip.d.ts.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/skip.js +2 -2
- package/out/zql/src/ivm/skip.js.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/source.d.ts +2 -2
- package/out/zql/src/ivm/source.d.ts.map +1 -0
- package/out/zql/src/ivm/source.js.map +1 -0
- package/out/zql/src/ivm/stream.d.ts.map +1 -0
- package/out/zql/src/ivm/stream.js.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/take.d.ts +3 -3
- package/out/zql/src/ivm/take.d.ts.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/take.js +13 -9
- package/out/zql/src/ivm/take.js.map +1 -0
- package/out/zql/src/ivm/view-apply-change.d.ts +5 -0
- package/out/zql/src/ivm/view-apply-change.d.ts.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/view.d.ts +2 -2
- package/out/zql/src/ivm/view.d.ts.map +1 -0
- package/out/zql/src/query/auth-query.d.ts +24 -0
- package/out/zql/src/query/auth-query.d.ts.map +1 -0
- package/out/zql/src/query/dnf.d.ts +10 -0
- package/out/zql/src/query/dnf.d.ts.map +1 -0
- package/out/zql/src/query/escape-like.d.ts.map +1 -0
- package/out/zql/src/query/expression.d.ts +41 -0
- package/out/zql/src/query/expression.d.ts.map +1 -0
- package/out/zql/src/{zql/query → query}/query-impl.d.ts +9 -8
- package/out/zql/src/query/query-impl.d.ts.map +1 -0
- package/out/zql/src/{zql/query → query}/query-internal.d.ts +1 -1
- package/out/zql/src/query/query-internal.d.ts.map +1 -0
- package/out/zql/src/query/query.d.ts +98 -0
- package/out/zql/src/query/query.d.ts.map +1 -0
- package/out/zql/src/{zql/query → query}/typed-view.d.ts +1 -1
- package/out/zql/src/query/typed-view.d.ts.map +1 -0
- package/out/zqlite/src/db.d.ts.map +1 -1
- package/out/zqlite/src/db.js +19 -6
- package/out/zqlite/src/db.js.map +1 -1
- package/out/zqlite/src/table-source.d.ts +24 -3
- package/out/zqlite/src/table-source.d.ts.map +1 -1
- package/out/zqlite/src/table-source.js +117 -18
- package/out/zqlite/src/table-source.js.map +1 -1
- package/package.json +11 -6
- package/out/chunk-TBA526RR.js.map +0 -7
- package/out/datadog/src/datadog-log-sink.js +0 -231
- package/out/datadog/src/datadog-log-sink.js.map +0 -1
- package/out/datadog/src/mod.js +0 -2
- package/out/datadog/src/mod.js.map +0 -1
- package/out/replicache/src/async-iterable-to-array.js +0 -8
- package/out/replicache/src/async-iterable-to-array.js.map +0 -1
- package/out/replicache/src/bg-interval.js +0 -38
- package/out/replicache/src/bg-interval.js.map +0 -1
- package/out/replicache/src/binary-search.js +0 -31
- package/out/replicache/src/binary-search.js.map +0 -1
- package/out/replicache/src/broadcast-channel.js +0 -29
- package/out/replicache/src/broadcast-channel.js.map +0 -1
- package/out/replicache/src/btree/diff.js +0 -6
- package/out/replicache/src/btree/diff.js.map +0 -1
- package/out/replicache/src/btree/node.js +0 -392
- package/out/replicache/src/btree/node.js.map +0 -1
- package/out/replicache/src/btree/read.js +0 -227
- package/out/replicache/src/btree/read.js.map +0 -1
- package/out/replicache/src/btree/splice.js +0 -79
- package/out/replicache/src/btree/splice.js.map +0 -1
- package/out/replicache/src/btree/write.js +0 -154
- package/out/replicache/src/btree/write.js.map +0 -1
- package/out/replicache/src/call-default-fetch.js +0 -37
- package/out/replicache/src/call-default-fetch.js.map +0 -1
- package/out/replicache/src/config.js +0 -13
- package/out/replicache/src/config.js.map +0 -1
- package/out/replicache/src/connection-loop-delegates.js +0 -30
- package/out/replicache/src/connection-loop-delegates.js.map +0 -1
- package/out/replicache/src/connection-loop.js +0 -268
- package/out/replicache/src/connection-loop.js.map +0 -1
- package/out/replicache/src/cookies.js +0 -41
- package/out/replicache/src/cookies.js.map +0 -1
- package/out/replicache/src/dag/chunk.js +0 -60
- package/out/replicache/src/dag/chunk.js.map +0 -1
- package/out/replicache/src/dag/gc.js +0 -126
- package/out/replicache/src/dag/gc.js.map +0 -1
- package/out/replicache/src/dag/key-type-enum.js +0 -6
- package/out/replicache/src/dag/key-type-enum.js.map +0 -1
- package/out/replicache/src/dag/key.js +0 -54
- package/out/replicache/src/dag/key.js.map +0 -1
- package/out/replicache/src/dag/lazy-store.js +0 -532
- package/out/replicache/src/dag/lazy-store.js.map +0 -1
- package/out/replicache/src/dag/store-impl.js +0 -175
- package/out/replicache/src/dag/store-impl.js.map +0 -1
- package/out/replicache/src/dag/store.js +0 -22
- package/out/replicache/src/dag/store.js.map +0 -1
- package/out/replicache/src/dag/visitor.js +0 -22
- package/out/replicache/src/dag/visitor.js.map +0 -1
- package/out/replicache/src/db/commit.js +0 -443
- package/out/replicache/src/db/commit.js.map +0 -1
- package/out/replicache/src/db/index-operation-enum.js +0 -4
- package/out/replicache/src/db/index-operation-enum.js.map +0 -1
- package/out/replicache/src/db/index.js +0 -170
- package/out/replicache/src/db/index.js.map +0 -1
- package/out/replicache/src/db/meta-type-enum.js +0 -7
- package/out/replicache/src/db/meta-type-enum.js.map +0 -1
- package/out/replicache/src/db/read.js +0 -59
- package/out/replicache/src/db/read.js.map +0 -1
- package/out/replicache/src/db/rebase.js +0 -56
- package/out/replicache/src/db/rebase.js.map +0 -1
- package/out/replicache/src/db/scan.js +0 -2
- package/out/replicache/src/db/scan.js.map +0 -1
- package/out/replicache/src/db/write.js +0 -260
- package/out/replicache/src/db/write.js.map +0 -1
- package/out/replicache/src/error-responses.js +0 -30
- package/out/replicache/src/error-responses.js.map +0 -1
- package/out/replicache/src/filter-async-iterable.js +0 -15
- package/out/replicache/src/filter-async-iterable.js.map +0 -1
- package/out/replicache/src/format-version-enum.js +0 -9
- package/out/replicache/src/format-version-enum.js.map +0 -1
- package/out/replicache/src/format-version.js +0 -8
- package/out/replicache/src/format-version.js.map +0 -1
- package/out/replicache/src/frozen-json.js +0 -151
- package/out/replicache/src/frozen-json.js.map +0 -1
- package/out/replicache/src/get-default-puller.js +0 -74
- package/out/replicache/src/get-default-puller.js.map +0 -1
- package/out/replicache/src/get-default-pusher.js +0 -36
- package/out/replicache/src/get-default-pusher.js.map +0 -1
- package/out/replicache/src/hash.js +0 -73
- package/out/replicache/src/hash.js.map +0 -1
- package/out/replicache/src/http-request-info.js +0 -7
- package/out/replicache/src/http-request-info.js.map +0 -1
- package/out/replicache/src/impl.js +0 -2
- package/out/replicache/src/impl.js.map +0 -1
- package/out/replicache/src/index-defs.js +0 -28
- package/out/replicache/src/index-defs.js.map +0 -1
- package/out/replicache/src/invoke-kind-enum.js +0 -4
- package/out/replicache/src/invoke-kind-enum.js.map +0 -1
- package/out/replicache/src/iterable-union.js +0 -5
- package/out/replicache/src/iterable-union.js.map +0 -1
- package/out/replicache/src/kv/idb-store-with-mem-fallback.js +0 -93
- package/out/replicache/src/kv/idb-store-with-mem-fallback.js.map +0 -1
- package/out/replicache/src/kv/idb-store.js +0 -179
- package/out/replicache/src/kv/idb-store.js.map +0 -1
- package/out/replicache/src/kv/mem-store.js +0 -61
- package/out/replicache/src/kv/mem-store.js.map +0 -1
- package/out/replicache/src/kv/read-impl.js +0 -23
- package/out/replicache/src/kv/read-impl.js.map +0 -1
- package/out/replicache/src/kv/store.js +0 -2
- package/out/replicache/src/kv/store.js.map +0 -1
- package/out/replicache/src/kv/write-impl-base.js +0 -48
- package/out/replicache/src/kv/write-impl-base.js.map +0 -1
- package/out/replicache/src/kv/write-impl.js +0 -25
- package/out/replicache/src/kv/write-impl.js.map +0 -1
- package/out/replicache/src/lazy.js +0 -10
- package/out/replicache/src/lazy.js.map +0 -1
- package/out/replicache/src/log-options.js +0 -13
- package/out/replicache/src/log-options.js.map +0 -1
- package/out/replicache/src/merge-async-iterables.js +0 -61
- package/out/replicache/src/merge-async-iterables.js.map +0 -1
- package/out/replicache/src/mod.js +0 -14
- package/out/replicache/src/mod.js.map +0 -1
- package/out/replicache/src/mutation-recovery.js +0 -439
- package/out/replicache/src/mutation-recovery.js.map +0 -1
- package/out/replicache/src/new-client-channel.js +0 -77
- package/out/replicache/src/new-client-channel.js.map +0 -1
- package/out/replicache/src/on-persist-channel.js +0 -33
- package/out/replicache/src/on-persist-channel.js.map +0 -1
- package/out/replicache/src/patch-operation.js +0 -37
- package/out/replicache/src/patch-operation.js.map +0 -1
- package/out/replicache/src/pending-mutations.js +0 -18
- package/out/replicache/src/pending-mutations.js.map +0 -1
- package/out/replicache/src/persist/client-gc.js +0 -38
- package/out/replicache/src/persist/client-gc.js.map +0 -1
- package/out/replicache/src/persist/client-group-gc.js +0 -38
- package/out/replicache/src/persist/client-group-gc.js.map +0 -1
- package/out/replicache/src/persist/client-groups.js +0 -180
- package/out/replicache/src/persist/client-groups.js.map +0 -1
- package/out/replicache/src/persist/clients.js +0 -390
- package/out/replicache/src/persist/clients.js.map +0 -1
- package/out/replicache/src/persist/collect-idb-databases.js +0 -174
- package/out/replicache/src/persist/collect-idb-databases.js.map +0 -1
- package/out/replicache/src/persist/gather-mem-only-visitor.js +0 -25
- package/out/replicache/src/persist/gather-mem-only-visitor.js.map +0 -1
- package/out/replicache/src/persist/gather-not-cached-visitor.js +0 -35
- package/out/replicache/src/persist/gather-not-cached-visitor.js.map +0 -1
- package/out/replicache/src/persist/heartbeat.js +0 -37
- package/out/replicache/src/persist/heartbeat.js.map +0 -1
- package/out/replicache/src/persist/idb-databases-store-db-name.js +0 -18
- package/out/replicache/src/persist/idb-databases-store-db-name.js.map +0 -1
- package/out/replicache/src/persist/idb-databases-store.js +0 -90
- package/out/replicache/src/persist/idb-databases-store.js.map +0 -1
- package/out/replicache/src/persist/make-client-id.js +0 -13
- package/out/replicache/src/persist/make-client-id.js.map +0 -1
- package/out/replicache/src/persist/persist.js +0 -132
- package/out/replicache/src/persist/persist.js.map +0 -1
- package/out/replicache/src/persist/refresh.js +0 -147
- package/out/replicache/src/persist/refresh.js.map +0 -1
- package/out/replicache/src/process-scheduler.js +0 -93
- package/out/replicache/src/process-scheduler.js.map +0 -1
- package/out/replicache/src/puller.js +0 -2
- package/out/replicache/src/puller.js.map +0 -1
- package/out/replicache/src/pusher.js +0 -32
- package/out/replicache/src/pusher.js.map +0 -1
- package/out/replicache/src/replicache-impl.js +0 -1007
- package/out/replicache/src/replicache-impl.js.map +0 -1
- package/out/replicache/src/replicache-options.js +0 -2
- package/out/replicache/src/replicache-options.js.map +0 -1
- package/out/replicache/src/replicache.js +0 -387
- package/out/replicache/src/replicache.js.map +0 -1
- package/out/replicache/src/request-idle.js +0 -15
- package/out/replicache/src/request-idle.js.map +0 -1
- package/out/replicache/src/scan-iterator.js +0 -202
- package/out/replicache/src/scan-iterator.js.map +0 -1
- package/out/replicache/src/scan-options.js +0 -45
- package/out/replicache/src/scan-options.js.map +0 -1
- package/out/replicache/src/set-interval-with-signal.js +0 -7
- package/out/replicache/src/set-interval-with-signal.js.map +0 -1
- package/out/replicache/src/size-of-value.js +0 -77
- package/out/replicache/src/size-of-value.js.map +0 -1
- package/out/replicache/src/subscriptions.js +0 -357
- package/out/replicache/src/subscriptions.js.map +0 -1
- package/out/replicache/src/sync/diff.js +0 -75
- package/out/replicache/src/sync/diff.js.map +0 -1
- package/out/replicache/src/sync/handle-pull-response-result-type-enum.js +0 -5
- package/out/replicache/src/sync/handle-pull-response-result-type-enum.js.map +0 -1
- package/out/replicache/src/sync/ids.js +0 -4
- package/out/replicache/src/sync/ids.js.map +0 -1
- package/out/replicache/src/sync/patch.js +0 -41
- package/out/replicache/src/sync/patch.js.map +0 -1
- package/out/replicache/src/sync/pull-error.js +0 -16
- package/out/replicache/src/sync/pull-error.js.map +0 -1
- package/out/replicache/src/sync/pull.js +0 -375
- package/out/replicache/src/sync/pull.js.map +0 -1
- package/out/replicache/src/sync/push.js +0 -141
- package/out/replicache/src/sync/push.js.map +0 -1
- package/out/replicache/src/sync/request-id.js +0 -31
- package/out/replicache/src/sync/request-id.js.map +0 -1
- package/out/replicache/src/sync/sync-head-name.js +0 -2
- package/out/replicache/src/sync/sync-head-name.js.map +0 -1
- package/out/replicache/src/test-license-key.js +0 -3
- package/out/replicache/src/test-license-key.js.map +0 -1
- package/out/replicache/src/to-error.js +0 -7
- package/out/replicache/src/to-error.js.map +0 -1
- package/out/replicache/src/transaction-closed-error.js +0 -17
- package/out/replicache/src/transaction-closed-error.js.map +0 -1
- package/out/replicache/src/transactions.js +0 -144
- package/out/replicache/src/transactions.js.map +0 -1
- package/out/replicache/src/types.js +0 -2
- package/out/replicache/src/types.js.map +0 -1
- package/out/replicache/src/version.js +0 -6
- package/out/replicache/src/version.js.map +0 -1
- package/out/replicache/src/with-transactions.js +0 -28
- package/out/replicache/src/with-transactions.js.map +0 -1
- package/out/shared/src/browser-env.js +0 -14
- package/out/shared/src/browser-env.js.map +0 -1
- package/out/shared/src/document-visible.js +0 -76
- package/out/shared/src/document-visible.js.map +0 -1
- package/out/shared/src/immutable.js +0 -2
- package/out/shared/src/immutable.js.map +0 -1
- package/out/shared/src/navigator.js +0 -3
- package/out/shared/src/navigator.js.map +0 -1
- package/out/shared/src/random-uint64.js +0 -8
- package/out/shared/src/random-uint64.js.map +0 -1
- package/out/shared/src/sorted-entries.js +0 -6
- package/out/shared/src/sorted-entries.js.map +0 -1
- package/out/shared/src/types.js +0 -2
- package/out/shared/src/types.js.map +0 -1
- package/out/shared/src/writable.js +0 -2
- package/out/shared/src/writable.js.map +0 -1
- package/out/zero/src/config.d.ts +0 -2
- package/out/zero/src/config.d.ts.map +0 -1
- package/out/zero/src/config.js +0 -2
- package/out/zero/src/config.js.map +0 -1
- package/out/zero-cache/src/config/config-query.d.ts +0 -19
- package/out/zero-cache/src/config/config-query.d.ts.map +0 -1
- package/out/zero-cache/src/config/config-query.js +0 -22
- package/out/zero-cache/src/config/config-query.js.map +0 -1
- package/out/zero-cache/src/config/define-config.d.ts +0 -43
- package/out/zero-cache/src/config/define-config.d.ts.map +0 -1
- package/out/zero-cache/src/config/define-config.js +0 -120
- package/out/zero-cache/src/config/define-config.js.map +0 -1
- package/out/zero-cache/src/config/refs.d.ts +0 -3
- package/out/zero-cache/src/config/refs.d.ts.map +0 -1
- package/out/zero-cache/src/config/refs.js +0 -14
- package/out/zero-cache/src/config/refs.js.map +0 -1
- package/out/zero-client/src/client/context.js +0 -113
- package/out/zero-client/src/client/context.js.map +0 -1
- package/out/zero-client/src/client/crud.js +0 -181
- package/out/zero-client/src/client/crud.js.map +0 -1
- package/out/zero-client/src/client/enable-analytics.js +0 -21
- package/out/zero-client/src/client/enable-analytics.js.map +0 -1
- package/out/zero-client/src/client/http-string.js +0 -14
- package/out/zero-client/src/client/http-string.js.map +0 -1
- package/out/zero-client/src/client/keys.js +0 -32
- package/out/zero-client/src/client/keys.js.map +0 -1
- package/out/zero-client/src/client/log-options.js +0 -57
- package/out/zero-client/src/client/log-options.js.map +0 -1
- package/out/zero-client/src/client/metrics.js +0 -268
- package/out/zero-client/src/client/metrics.js.map +0 -1
- package/out/zero-client/src/client/normalized-schema.d.ts.map +0 -1
- package/out/zero-client/src/client/normalized-schema.js +0 -31
- package/out/zero-client/src/client/normalized-schema.js.map +0 -1
- package/out/zero-client/src/client/options.js +0 -2
- package/out/zero-client/src/client/options.js.map +0 -1
- package/out/zero-client/src/client/query-manager.js +0 -146
- package/out/zero-client/src/client/query-manager.js.map +0 -1
- package/out/zero-client/src/client/reload-error-handler.js +0 -23
- package/out/zero-client/src/client/reload-error-handler.js.map +0 -1
- package/out/zero-client/src/client/replicache-types.js +0 -2
- package/out/zero-client/src/client/replicache-types.js.map +0 -1
- package/out/zero-client/src/client/server-error.js +0 -22
- package/out/zero-client/src/client/server-error.js.map +0 -1
- package/out/zero-client/src/client/server-option.js +0 -37
- package/out/zero-client/src/client/server-option.js.map +0 -1
- package/out/zero-client/src/client/version.js +0 -6
- package/out/zero-client/src/client/version.js.map +0 -1
- package/out/zero-client/src/client/zero-poke-handler.js +0 -240
- package/out/zero-client/src/client/zero-poke-handler.js.map +0 -1
- package/out/zero-client/src/client/zero.js +0 -1233
- package/out/zero-client/src/client/zero.js.map +0 -1
- package/out/zero-client/src/mod.js +0 -7
- package/out/zero-client/src/mod.js.map +0 -1
- package/out/zero-client/src/util/nanoid.js +0 -34
- package/out/zero-client/src/util/nanoid.js.map +0 -1
- package/out/zero-client/src/util/socket.js +0 -4
- package/out/zero-client/src/util/socket.js.map +0 -1
- package/out/zero-protocol/src/ast-hash.js +0 -14
- package/out/zero-protocol/src/ast-hash.js.map +0 -1
- package/out/zql/src/zql/builder/builder.d.ts.map +0 -1
- package/out/zql/src/zql/builder/builder.js.map +0 -1
- package/out/zql/src/zql/builder/error.d.ts.map +0 -1
- package/out/zql/src/zql/builder/error.js.map +0 -1
- package/out/zql/src/zql/builder/filter.d.ts +0 -6
- package/out/zql/src/zql/builder/filter.d.ts.map +0 -1
- package/out/zql/src/zql/builder/filter.js.map +0 -1
- package/out/zql/src/zql/builder/like.d.ts +0 -3
- package/out/zql/src/zql/builder/like.d.ts.map +0 -1
- package/out/zql/src/zql/builder/like.js.map +0 -1
- package/out/zql/src/zql/ivm/array-view.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/array-view.js +0 -70
- package/out/zql/src/zql/ivm/array-view.js.map +0 -1
- package/out/zql/src/zql/ivm/change.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/change.js +0 -2
- package/out/zql/src/zql/ivm/change.js.map +0 -1
- package/out/zql/src/zql/ivm/data.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/data.js.map +0 -1
- package/out/zql/src/zql/ivm/fan-in.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/fan-in.js.map +0 -1
- package/out/zql/src/zql/ivm/fan-out.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/fan-out.js.map +0 -1
- package/out/zql/src/zql/ivm/filter.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/filter.js.map +0 -1
- package/out/zql/src/zql/ivm/join.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/join.js.map +0 -1
- package/out/zql/src/zql/ivm/lookahead-iterator.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/lookahead-iterator.js.map +0 -1
- package/out/zql/src/zql/ivm/maybe-split-and-push-edit-change.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/maybe-split-and-push-edit-change.js.map +0 -1
- package/out/zql/src/zql/ivm/memory-source.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/memory-source.js.map +0 -1
- package/out/zql/src/zql/ivm/memory-storage.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/memory-storage.js +0 -33
- package/out/zql/src/zql/ivm/memory-storage.js.map +0 -1
- package/out/zql/src/zql/ivm/operator.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/operator.js.map +0 -1
- package/out/zql/src/zql/ivm/schema.d.ts +0 -29
- package/out/zql/src/zql/ivm/schema.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/schema.js +0 -3
- package/out/zql/src/zql/ivm/schema.js.map +0 -1
- package/out/zql/src/zql/ivm/skip.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/skip.js.map +0 -1
- package/out/zql/src/zql/ivm/source.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/source.js.map +0 -1
- package/out/zql/src/zql/ivm/stream.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/stream.js.map +0 -1
- package/out/zql/src/zql/ivm/take.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/take.js.map +0 -1
- package/out/zql/src/zql/ivm/view-apply-change.d.ts +0 -5
- package/out/zql/src/zql/ivm/view-apply-change.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/view-apply-change.js +0 -156
- package/out/zql/src/zql/ivm/view-apply-change.js.map +0 -1
- package/out/zql/src/zql/ivm/view.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/view.js +0 -2
- package/out/zql/src/zql/ivm/view.js.map +0 -1
- package/out/zql/src/zql/query/escape-like.d.ts.map +0 -1
- package/out/zql/src/zql/query/escape-like.js +0 -4
- package/out/zql/src/zql/query/escape-like.js.map +0 -1
- package/out/zql/src/zql/query/expression.d.ts +0 -25
- package/out/zql/src/zql/query/expression.d.ts.map +0 -1
- package/out/zql/src/zql/query/expression.js +0 -115
- package/out/zql/src/zql/query/expression.js.map +0 -1
- package/out/zql/src/zql/query/normalize-table-schema.d.ts.map +0 -1
- package/out/zql/src/zql/query/normalize-table-schema.js +0 -116
- package/out/zql/src/zql/query/normalize-table-schema.js.map +0 -1
- package/out/zql/src/zql/query/query-impl.d.ts.map +0 -1
- package/out/zql/src/zql/query/query-impl.js +0 -289
- package/out/zql/src/zql/query/query-impl.js.map +0 -1
- package/out/zql/src/zql/query/query-internal.d.ts.map +0 -1
- package/out/zql/src/zql/query/query-internal.js +0 -2
- package/out/zql/src/zql/query/query-internal.js.map +0 -1
- package/out/zql/src/zql/query/query.d.ts +0 -142
- package/out/zql/src/zql/query/query.d.ts.map +0 -1
- package/out/zql/src/zql/query/query.js +0 -3
- package/out/zql/src/zql/query/query.js.map +0 -1
- package/out/zql/src/zql/query/schema.d.ts.map +0 -1
- package/out/zql/src/zql/query/schema.js.map +0 -1
- package/out/zql/src/zql/query/typed-view.d.ts.map +0 -1
- package/out/zql/src/zql/query/typed-view.js +0 -2
- package/out/zql/src/zql/query/typed-view.js.map +0 -1
- /package/out/{internal.js.map → advanced.js.map} +0 -0
- /package/out/zql/src/{zql/builder → builder}/error.d.ts +0 -0
- /package/out/zql/src/{zql/builder → builder}/error.js +0 -0
- /package/out/zql/src/{zql/ivm → ivm}/array-view.d.ts +0 -0
- /package/out/zql/src/{zql/ivm → ivm}/lookahead-iterator.d.ts +0 -0
- /package/out/zql/src/{zql/ivm → ivm}/lookahead-iterator.js +0 -0
- /package/out/zql/src/{zql/ivm → ivm}/maybe-split-and-push-edit-change.js +0 -0
- /package/out/zql/src/{zql/ivm → ivm}/operator.js +0 -0
- /package/out/zql/src/{zql/ivm → ivm}/source.js +0 -0
- /package/out/zql/src/{zql/ivm → ivm}/stream.d.ts +0 -0
- /package/out/zql/src/{zql/ivm → ivm}/stream.js +0 -0
- /package/out/zql/src/{zql/query → query}/escape-like.d.ts +0 -0
|
@@ -1,21 +1,91 @@
|
|
|
1
1
|
import type postgres from 'postgres';
|
|
2
2
|
import * as v from '../../../../../../shared/src/valita.js';
|
|
3
|
-
import type { FilteredTableSpec, IndexSpec } from '../../../../db/specs.js';
|
|
4
3
|
export declare function publishedTableQuery(publications: string[]): string;
|
|
5
4
|
export declare function indexDefinitionsQuery(publications: string[]): string;
|
|
6
|
-
declare const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
export declare const publishedSchema: v.ObjectType<Omit<{
|
|
6
|
+
tables: v.ArrayType<v.ObjectType<Omit<Omit<{
|
|
7
|
+
name: v.Type<string>;
|
|
8
|
+
columns: v.Type<Record<string, {
|
|
9
|
+
characterMaximumLength?: number | null | undefined;
|
|
10
|
+
notNull?: boolean | null | undefined;
|
|
11
|
+
dflt?: string | null | undefined;
|
|
12
|
+
pos: number;
|
|
13
|
+
dataType: string;
|
|
14
|
+
}>>;
|
|
15
|
+
primaryKey: v.ArrayType<v.Type<string>>;
|
|
16
|
+
}, "schema"> & {
|
|
17
|
+
schema: v.Type<string>;
|
|
18
|
+
}, "publications" | "columns" | "oid"> & {
|
|
19
|
+
oid: v.Type<number>;
|
|
20
|
+
columns: v.Type<Record<string, {
|
|
21
|
+
characterMaximumLength?: number | null | undefined;
|
|
22
|
+
notNull?: boolean | null | undefined;
|
|
23
|
+
dflt?: string | null | undefined;
|
|
24
|
+
pos: number;
|
|
25
|
+
dataType: string;
|
|
26
|
+
typeOID: number;
|
|
27
|
+
}>>;
|
|
28
|
+
publications: v.Type<Record<string, {
|
|
29
|
+
rowFilter: string | null;
|
|
30
|
+
}>>;
|
|
31
|
+
}, undefined>>;
|
|
32
|
+
}, "indexes"> & {
|
|
33
|
+
indexes: v.ArrayType<v.ObjectType<Omit<{
|
|
34
|
+
name: v.Type<string>;
|
|
35
|
+
tableName: v.Type<string>;
|
|
36
|
+
unique: v.Type<boolean>;
|
|
37
|
+
columns: v.Type<Record<string, "ASC" | "DESC">>;
|
|
38
|
+
}, "schema"> & {
|
|
39
|
+
schema: v.Type<string>;
|
|
40
|
+
}, undefined>>;
|
|
12
41
|
}, undefined>;
|
|
13
|
-
export type
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
42
|
+
export type PublishedSchema = v.Infer<typeof publishedSchema>;
|
|
43
|
+
declare const publicationInfoSchema: v.ObjectType<Omit<Omit<{
|
|
44
|
+
tables: v.ArrayType<v.ObjectType<Omit<Omit<{
|
|
45
|
+
name: v.Type<string>;
|
|
46
|
+
columns: v.Type<Record<string, {
|
|
47
|
+
characterMaximumLength?: number | null | undefined;
|
|
48
|
+
notNull?: boolean | null | undefined;
|
|
49
|
+
dflt?: string | null | undefined;
|
|
50
|
+
pos: number;
|
|
51
|
+
dataType: string;
|
|
52
|
+
}>>;
|
|
53
|
+
primaryKey: v.ArrayType<v.Type<string>>;
|
|
54
|
+
}, "schema"> & {
|
|
55
|
+
schema: v.Type<string>;
|
|
56
|
+
}, "publications" | "columns" | "oid"> & {
|
|
57
|
+
oid: v.Type<number>;
|
|
58
|
+
columns: v.Type<Record<string, {
|
|
59
|
+
characterMaximumLength?: number | null | undefined;
|
|
60
|
+
notNull?: boolean | null | undefined;
|
|
61
|
+
dflt?: string | null | undefined;
|
|
62
|
+
pos: number;
|
|
63
|
+
dataType: string;
|
|
64
|
+
typeOID: number;
|
|
65
|
+
}>>;
|
|
66
|
+
publications: v.Type<Record<string, {
|
|
67
|
+
rowFilter: string | null;
|
|
68
|
+
}>>;
|
|
69
|
+
}, undefined>>;
|
|
70
|
+
}, "indexes"> & {
|
|
71
|
+
indexes: v.ArrayType<v.ObjectType<Omit<{
|
|
72
|
+
name: v.Type<string>;
|
|
73
|
+
tableName: v.Type<string>;
|
|
74
|
+
unique: v.Type<boolean>;
|
|
75
|
+
columns: v.Type<Record<string, "ASC" | "DESC">>;
|
|
76
|
+
}, "schema"> & {
|
|
77
|
+
schema: v.Type<string>;
|
|
78
|
+
}, undefined>>;
|
|
79
|
+
}, "publications"> & {
|
|
80
|
+
publications: v.ArrayType<v.ObjectType<{
|
|
81
|
+
pubname: v.Type<string>;
|
|
82
|
+
pubinsert: v.Type<boolean>;
|
|
83
|
+
pubupdate: v.Type<boolean>;
|
|
84
|
+
pubdelete: v.Type<boolean>;
|
|
85
|
+
pubtruncate: v.Type<boolean>;
|
|
86
|
+
}, undefined>>;
|
|
87
|
+
}, undefined>;
|
|
88
|
+
export type PublicationInfo = v.Infer<typeof publicationInfoSchema>;
|
|
19
89
|
/**
|
|
20
90
|
* Retrieves published tables and columns. By default, includes all
|
|
21
91
|
* publications that start with "zero_" or "_zero_", but this can be
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"published.d.ts","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-streamer/pg/schema/published.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAErC,OAAO,KAAK,CAAC,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"published.d.ts","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-streamer/pg/schema/published.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAErC,OAAO,KAAK,CAAC,MAAM,wCAAwC,CAAC;AAG5D,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,UAmEzD;AAED,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,UAwD3D;AAKD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAE3B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAY9D,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAEzB,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,QAAQ,CAAC,GAAG,EACjB,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,eAAe,CAAC,CAiD1B"}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { literal } from 'pg-format';
|
|
2
2
|
import { equals } from '../../../../../../shared/src/set-utils.js';
|
|
3
3
|
import * as v from '../../../../../../shared/src/valita.js';
|
|
4
|
+
import { indexSpec, publishedTableSpec } from '../../../../db/specs.js';
|
|
4
5
|
export function publishedTableQuery(publications) {
|
|
5
6
|
return `
|
|
6
7
|
WITH published_columns AS (SELECT
|
|
8
|
+
pc.oid::int8 AS "oid",
|
|
7
9
|
nspname AS "schema",
|
|
8
10
|
pc.relname AS "name",
|
|
9
11
|
attnum AS "pos",
|
|
10
12
|
attname AS "col",
|
|
11
13
|
pt.typname AS "type",
|
|
12
|
-
atttypid AS "
|
|
14
|
+
atttypid::int8 AS "typeOID",
|
|
13
15
|
NULLIF(atttypmod, -1) AS "maxLen",
|
|
14
16
|
attndims "arrayDims",
|
|
15
17
|
attnotnull AS "notNull",
|
|
@@ -31,6 +33,7 @@ WHERE pb.pubname IN (${literal(publications)})
|
|
|
31
33
|
ORDER BY nspname, pc.relname),
|
|
32
34
|
|
|
33
35
|
tables AS (SELECT json_build_object(
|
|
36
|
+
'oid', "oid",
|
|
34
37
|
'schema', "schema",
|
|
35
38
|
'name', "name",
|
|
36
39
|
'columns', json_object_agg(
|
|
@@ -41,8 +44,9 @@ tables AS (SELECT json_build_object(
|
|
|
41
44
|
'dataType', CASE WHEN "arrayDims" = 0
|
|
42
45
|
THEN "type"
|
|
43
46
|
ELSE substring("type" from 2) || repeat('[]', "arrayDims") END,
|
|
47
|
+
'typeOID', "typeOID",
|
|
44
48
|
-- https://stackoverflow.com/a/52376230
|
|
45
|
-
'characterMaximumLength', CASE WHEN "
|
|
49
|
+
'characterMaximumLength', CASE WHEN "typeOID" = 1043 OR "typeOID" = 1042
|
|
46
50
|
THEN "maxLen" - 4
|
|
47
51
|
ELSE "maxLen" END,
|
|
48
52
|
'notNull', "notNull",
|
|
@@ -61,7 +65,7 @@ tables AS (SELECT json_build_object(
|
|
|
61
65
|
"publication",
|
|
62
66
|
jsonb_build_object('rowFilter', "rowFilter")
|
|
63
67
|
)
|
|
64
|
-
) AS "table" FROM published_columns GROUP BY "schema", "name")
|
|
68
|
+
) AS "table" FROM published_columns GROUP BY "schema", "name", "oid")
|
|
65
69
|
|
|
66
70
|
SELECT COALESCE(json_agg("table"), '[]'::json) as "tables" FROM tables
|
|
67
71
|
`;
|
|
@@ -123,6 +127,9 @@ export function indexDefinitionsQuery(publications) {
|
|
|
123
127
|
SELECT COALESCE(json_agg("index"), '[]'::json) as "indexes" FROM indexes
|
|
124
128
|
`;
|
|
125
129
|
}
|
|
130
|
+
const publishedTablesSchema = v.object({ tables: v.array(publishedTableSpec) });
|
|
131
|
+
const publishedIndexesSchema = v.object({ indexes: v.array(indexSpec) });
|
|
132
|
+
export const publishedSchema = publishedTablesSchema.extend(publishedIndexesSchema.shape);
|
|
126
133
|
const publicationSchema = v.object({
|
|
127
134
|
pubname: v.string(),
|
|
128
135
|
pubinsert: v.boolean(),
|
|
@@ -131,6 +138,9 @@ const publicationSchema = v.object({
|
|
|
131
138
|
pubtruncate: v.boolean(),
|
|
132
139
|
});
|
|
133
140
|
const publicationsResultSchema = v.array(publicationSchema);
|
|
141
|
+
const publicationInfoSchema = publishedSchema.extend({
|
|
142
|
+
publications: publicationsResultSchema,
|
|
143
|
+
});
|
|
134
144
|
/**
|
|
135
145
|
* Retrieves published tables and columns. By default, includes all
|
|
136
146
|
* publications that start with "zero_" or "_zero_", but this can be
|
|
@@ -173,8 +183,8 @@ export async function getPublicationInfo(sql, publications) {
|
|
|
173
183
|
}
|
|
174
184
|
return {
|
|
175
185
|
publications: v.parse(result[1], publicationsResultSchema),
|
|
176
|
-
|
|
177
|
-
|
|
186
|
+
...v.parse(result[2][0], publishedTablesSchema),
|
|
187
|
+
...v.parse(result[3][0], publishedIndexesSchema),
|
|
178
188
|
};
|
|
179
189
|
}
|
|
180
190
|
//# sourceMappingURL=published.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"published.js","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-streamer/pg/schema/published.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAElC,OAAO,EAAC,MAAM,EAAC,MAAM,2CAA2C,CAAC;AACjE,OAAO,KAAK,CAAC,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"published.js","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-streamer/pg/schema/published.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,53 @@
|
|
|
1
1
|
import type { LogContext } from '@rocicorp/logger';
|
|
2
|
+
import * as v from '../../../../../../shared/src/valita.js';
|
|
2
3
|
import type { PostgresDB, PostgresTransaction } from '../../../../types/pg.js';
|
|
3
4
|
import type { ShardConfig } from '../shard-config.js';
|
|
5
|
+
import { type PublicationInfo, type PublishedSchema } from './published.js';
|
|
4
6
|
export declare function append(shardID: string): (name: string) => string;
|
|
5
7
|
export declare function schemaFor(shardID: string): string;
|
|
6
8
|
export declare function unescapedSchema(shardID: string): string;
|
|
7
9
|
export declare const APP_PUBLICATION_PREFIX = "zero_";
|
|
8
10
|
export declare const INTERNAL_PUBLICATION_PREFIX = "_zero_";
|
|
9
|
-
export declare
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
export declare const GLOBAL_SETUP = "\n CREATE SCHEMA IF NOT EXISTS zero;\n\n CREATE TABLE IF NOT EXISTS zero.\"schemaVersions\" (\n \"minSupportedVersion\" INT4,\n \"maxSupportedVersion\" INT4,\n\n -- Ensure that there is only a single row in the table.\n -- Application code can be agnostic to this column, and\n -- simply invoke UPDATE statements on the version columns.\n \"lock\" BOOL PRIMARY KEY DEFAULT true,\n CONSTRAINT zero_schema_versions_single_row_constraint CHECK (lock)\n );\n\n INSERT INTO zero.\"schemaVersions\" (\"lock\", \"minSupportedVersion\", \"maxSupportedVersion\")\n VALUES (true, 1, 1) ON CONFLICT DO NOTHING;\n";
|
|
12
|
+
export declare function dropShard(shardID: string): string;
|
|
13
|
+
declare const internalShardConfigSchema: v.ObjectType<{
|
|
14
|
+
publications: v.ArrayType<v.Type<string>>;
|
|
15
|
+
ddlDetection: v.Type<boolean>;
|
|
16
|
+
initialSchema: v.Type<{
|
|
17
|
+
tables: {
|
|
18
|
+
name: string;
|
|
19
|
+
schema: string;
|
|
20
|
+
primaryKey: string[];
|
|
21
|
+
oid: number;
|
|
22
|
+
columns: Record<string, {
|
|
23
|
+
characterMaximumLength?: number | null | undefined;
|
|
24
|
+
notNull?: boolean | null | undefined;
|
|
25
|
+
dflt?: string | null | undefined;
|
|
26
|
+
pos: number;
|
|
27
|
+
dataType: string;
|
|
28
|
+
typeOID: number;
|
|
29
|
+
}>;
|
|
30
|
+
publications: Record<string, {
|
|
31
|
+
rowFilter: string | null;
|
|
32
|
+
}>;
|
|
33
|
+
}[];
|
|
34
|
+
indexes: {
|
|
35
|
+
name: string;
|
|
36
|
+
columns: Record<string, "ASC" | "DESC">;
|
|
37
|
+
tableName: string;
|
|
38
|
+
unique: boolean;
|
|
39
|
+
schema: string;
|
|
40
|
+
}[];
|
|
41
|
+
} | null>;
|
|
42
|
+
}, undefined>;
|
|
43
|
+
export type InternalShardConfig = v.Infer<typeof internalShardConfigSchema>;
|
|
44
|
+
export declare function setInitialSchema(db: PostgresDB, shardID: string, { tables, indexes }: PublishedSchema): Promise<void>;
|
|
45
|
+
export declare function getInternalShardConfig(db: PostgresDB, shardID: string): Promise<InternalShardConfig>;
|
|
12
46
|
/**
|
|
13
47
|
* Sets up and returns all publications (including internal ones) for
|
|
14
48
|
* the given shard.
|
|
15
49
|
*/
|
|
16
50
|
export declare function setupTablesAndReplication(lc: LogContext, tx: PostgresTransaction, { id, publications }: ShardConfig): Promise<void>;
|
|
51
|
+
export declare function validatePublications(lc: LogContext, shardID: string, published: PublicationInfo): void;
|
|
52
|
+
export {};
|
|
17
53
|
//# sourceMappingURL=shard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shard.d.ts","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-streamer/pg/schema/shard.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shard.d.ts","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-streamer/pg/schema/shard.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAIjD,OAAO,KAAK,CAAC,MAAM,wCAAwC,CAAC;AAC5D,OAAO,KAAK,EAAC,UAAU,EAAE,mBAAmB,EAAC,MAAM,yBAAyB,CAAC;AAE7E,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,eAAe,EACrB,MAAM,gBAAgB,CAAC;AAIxB,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,UACtB,MAAM,YACrB;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,UAExC;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,UAE9C;AAED,eAAO,MAAM,sBAAsB,UAAU,CAAC;AAC9C,eAAO,MAAM,2BAA2B,WAAW,CAAC;AAOpD,eAAO,MAAM,YAAY,0nBAgBxB,CAAC;AA6CF,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAUjD;AAED,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAI7B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAc5E,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,MAAM,EACf,EAAC,MAAM,EAAE,OAAO,EAAC,EAAE,eAAe,iBAKnC;AAED,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,mBAAmB,CAAC,CAO9B;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,EAAE,EAAE,UAAU,EACd,EAAE,EAAE,mBAAmB,EACvB,EAAC,EAAE,EAAE,YAAY,EAAC,EAAE,WAAW,iBA+DhC;AAED,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,eAAe,QAkB3B"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
import { PG_INSUFFICIENT_PRIVILEGE } from '@drdgvhbh/postgres-error-codes';
|
|
1
2
|
import { literal } from 'pg-format';
|
|
3
|
+
import postgres from 'postgres';
|
|
2
4
|
import { assert } from '../../../../../../shared/src/asserts.js';
|
|
3
|
-
import
|
|
5
|
+
import * as v from '../../../../../../shared/src/valita.js';
|
|
4
6
|
import { id } from '../../../../types/sql.js';
|
|
5
|
-
import { ZERO_VERSION_COLUMN_NAME } from '../../../replicator/schema/replication-state.js';
|
|
6
7
|
import { createEventTriggerStatements } from './ddl.js';
|
|
7
|
-
import {
|
|
8
|
+
import { publishedSchema, } from './published.js';
|
|
9
|
+
import { validate } from './validation.js';
|
|
8
10
|
// Creates a function that appends `_SHARD_ID` to the input.
|
|
9
11
|
export function append(shardID) {
|
|
10
12
|
return (name) => id(name + '_' + shardID);
|
|
@@ -20,7 +22,8 @@ export const INTERNAL_PUBLICATION_PREFIX = '_zero_';
|
|
|
20
22
|
const DEFAULT_APP_PUBLICATION = APP_PUBLICATION_PREFIX + 'public';
|
|
21
23
|
const METADATA_PUBLICATION_PREFIX = INTERNAL_PUBLICATION_PREFIX + 'metadata_';
|
|
22
24
|
// The GLOBAL_SETUP must be idempotent as it can be run multiple times for different shards.
|
|
23
|
-
|
|
25
|
+
// Exported for testing.
|
|
26
|
+
export const GLOBAL_SETUP = `
|
|
24
27
|
CREATE SCHEMA IF NOT EXISTS zero;
|
|
25
28
|
|
|
26
29
|
CREATE TABLE IF NOT EXISTS zero."schemaVersions" (
|
|
@@ -43,7 +46,7 @@ function shardSetup(shardID, publications) {
|
|
|
43
46
|
const metadataPublication = METADATA_PUBLICATION_PREFIX + shardID;
|
|
44
47
|
publications.push(metadataPublication);
|
|
45
48
|
publications.sort();
|
|
46
|
-
return
|
|
49
|
+
return `
|
|
47
50
|
CREATE SCHEMA IF NOT EXISTS ${schema};
|
|
48
51
|
|
|
49
52
|
CREATE TABLE ${schema}."clients" (
|
|
@@ -59,22 +62,59 @@ function shardSetup(shardID, publications) {
|
|
|
59
62
|
|
|
60
63
|
CREATE TABLE ${schema}."shardConfig" (
|
|
61
64
|
"publications" TEXT[] NOT NULL,
|
|
65
|
+
"ddlDetection" BOOL NOT NULL,
|
|
66
|
+
"initialSchema" JSON,
|
|
62
67
|
|
|
63
68
|
-- Ensure that there is only a single row in the table.
|
|
64
69
|
"lock" BOOL PRIMARY KEY DEFAULT true,
|
|
65
70
|
CONSTRAINT ${sharded('single_row_shard_config')} CHECK (lock)
|
|
66
71
|
);
|
|
67
72
|
|
|
68
|
-
INSERT INTO ${schema}."shardConfig"
|
|
69
|
-
|
|
70
|
-
|
|
73
|
+
INSERT INTO ${schema}."shardConfig"
|
|
74
|
+
("lock", "publications", "ddlDetection", "initialSchema")
|
|
75
|
+
VALUES (true,
|
|
76
|
+
ARRAY[${literal(publications)}],
|
|
77
|
+
false, -- set in SAVEPOINT with triggerSetup() statements
|
|
78
|
+
null -- set in initial-sync at consistent_point LSN.
|
|
79
|
+
);
|
|
80
|
+
`;
|
|
81
|
+
}
|
|
82
|
+
export function dropShard(shardID) {
|
|
83
|
+
const schema = schemaFor(shardID);
|
|
84
|
+
const metadataPublication = METADATA_PUBLICATION_PREFIX + shardID;
|
|
85
|
+
// DROP SCHEMA ... CASCADE does not drop dependent PUBLICATIONS,
|
|
86
|
+
// so the PUBLICATION must be dropped explicitly.
|
|
87
|
+
return `
|
|
88
|
+
DROP PUBLICATION IF EXISTS ${id(metadataPublication)};
|
|
89
|
+
DROP SCHEMA IF EXISTS ${schema} CASCADE;
|
|
90
|
+
`;
|
|
71
91
|
}
|
|
72
|
-
|
|
92
|
+
const internalShardConfigSchema = v.object({
|
|
93
|
+
publications: v.array(v.string()),
|
|
94
|
+
ddlDetection: v.boolean(),
|
|
95
|
+
initialSchema: publishedSchema.nullable(),
|
|
96
|
+
});
|
|
97
|
+
// triggerSetup is run separately in a sub-transaction (i.e. SAVEPOINT) so
|
|
98
|
+
// that a failure (e.g. due to lack of superuser permissions) can be handled
|
|
99
|
+
// by continuing in a degraded mode (ddlDetection = false).
|
|
100
|
+
function triggerSetup(shardID, publications) {
|
|
101
|
+
const schema = schemaFor(shardID);
|
|
102
|
+
return (createEventTriggerStatements(shardID, publications) +
|
|
103
|
+
`UPDATE ${schema}."shardConfig" SET "ddlDetection" = true;`);
|
|
104
|
+
}
|
|
105
|
+
// Called in initial-sync to store the exact schema that was initially synced.
|
|
106
|
+
export async function setInitialSchema(db, shardID, { tables, indexes }) {
|
|
107
|
+
const schema = unescapedSchema(shardID);
|
|
108
|
+
const synced = { tables, indexes };
|
|
109
|
+
await db `UPDATE ${db(schema)}."shardConfig" SET "initialSchema" = ${synced}`;
|
|
110
|
+
}
|
|
111
|
+
export async function getInternalShardConfig(db, shardID) {
|
|
73
112
|
const result = await db `
|
|
74
|
-
SELECT publications
|
|
113
|
+
SELECT "publications", "ddlDetection", "initialSchema"
|
|
114
|
+
FROM ${db(unescapedSchema(shardID))}."shardConfig";
|
|
75
115
|
`;
|
|
76
116
|
assert(result.length === 1);
|
|
77
|
-
return result[0];
|
|
117
|
+
return v.parse(result[0], internalShardConfigSchema);
|
|
78
118
|
}
|
|
79
119
|
/**
|
|
80
120
|
* Sets up and returns all publications (including internal ones) for
|
|
@@ -111,11 +151,22 @@ export async function setupTablesAndReplication(lc, tx, { id, publications }) {
|
|
|
111
151
|
}
|
|
112
152
|
// Setup the global tables and shard tables / publications.
|
|
113
153
|
await tx.unsafe(GLOBAL_SETUP + shardSetup(id, allPublications));
|
|
114
|
-
|
|
115
|
-
|
|
154
|
+
try {
|
|
155
|
+
await tx.savepoint(sub => sub.unsafe(triggerSetup(id, allPublications)));
|
|
156
|
+
}
|
|
157
|
+
catch (e) {
|
|
158
|
+
if (!(e instanceof postgres.PostgresError &&
|
|
159
|
+
e.code === PG_INSUFFICIENT_PRIVILEGE)) {
|
|
160
|
+
throw e;
|
|
161
|
+
}
|
|
162
|
+
// If triggerSetup() fails, replication continues in ddlDetection=false mode.
|
|
163
|
+
lc.warn?.(`Unable to create event triggers for schema change detection:\n\n` +
|
|
164
|
+
`"${e.hint ?? e.message}"\n\n` +
|
|
165
|
+
`Proceeding in degraded mode: schema changes will halt replication,\n` +
|
|
166
|
+
`after which the operator is responsible for resyncing the replica.`);
|
|
167
|
+
}
|
|
116
168
|
}
|
|
117
|
-
|
|
118
|
-
function validatePublications(lc, shardSchema, published) {
|
|
169
|
+
export function validatePublications(lc, shardID, published) {
|
|
119
170
|
// Verify that all publications export the proper events.
|
|
120
171
|
published.publications.forEach(pub => {
|
|
121
172
|
if (!pub.pubinsert ||
|
|
@@ -126,26 +177,6 @@ function validatePublications(lc, shardSchema, published) {
|
|
|
126
177
|
throw new Error(`PUBLICATION ${pub.pubname} must publish insert, update, delete, and truncate`);
|
|
127
178
|
}
|
|
128
179
|
});
|
|
129
|
-
published.tables.forEach(table =>
|
|
130
|
-
if (!['public', 'zero', shardSchema].includes(table.schema)) {
|
|
131
|
-
// This may be relaxed in the future. We would need a plan for support in the AST first.
|
|
132
|
-
throw new Error('Only the default "public" schema is supported.');
|
|
133
|
-
}
|
|
134
|
-
if (ZERO_VERSION_COLUMN_NAME in table.columns) {
|
|
135
|
-
throw new Error(`Table "${table.name}" uses reserved column name "${ZERO_VERSION_COLUMN_NAME}"`);
|
|
136
|
-
}
|
|
137
|
-
if (table.primaryKey.length === 0) {
|
|
138
|
-
throw new Error(`Table "${table.name}" does not have a PRIMARY KEY`);
|
|
139
|
-
}
|
|
140
|
-
if (!ALLOWED_IDENTIFIER_CHARS.test(table.name)) {
|
|
141
|
-
throw new Error(`Table "${table.name}" has invalid characters.`);
|
|
142
|
-
}
|
|
143
|
-
for (const [col, spec] of Object.entries(table.columns)) {
|
|
144
|
-
if (!ALLOWED_IDENTIFIER_CHARS.test(col)) {
|
|
145
|
-
throw new Error(`Column "${col}" in table "${table.name}" has invalid characters.`);
|
|
146
|
-
}
|
|
147
|
-
warnIfDataTypeSupported(lc, spec.dataType, table.name, col);
|
|
148
|
-
}
|
|
149
|
-
});
|
|
180
|
+
published.tables.forEach(table => validate(lc, shardID, table));
|
|
150
181
|
}
|
|
151
182
|
//# sourceMappingURL=shard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shard.js","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-streamer/pg/schema/shard.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shard.js","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-streamer/pg/schema/shard.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { LogContext } from '@rocicorp/logger';
|
|
2
|
+
import type { TableSpec } from '../../../../db/specs.js';
|
|
3
|
+
export declare function validate(lc: LogContext, shardID: string, table: TableSpec): void;
|
|
4
|
+
export declare class UnsupportedTableSchemaError extends Error {
|
|
5
|
+
readonly name = "UnsupportedTableSchemaError";
|
|
6
|
+
constructor(msg: string);
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-streamer/pg/schema/validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAMvD,wBAAgB,QAAQ,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,QA+BzE;AAED,qBAAa,2BAA4B,SAAQ,KAAK;IACpD,QAAQ,CAAC,IAAI,iCAAiC;gBAElC,GAAG,EAAE,MAAM;CAGxB"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { warnIfDataTypeSupported } from '../../../../db/pg-to-lite.js';
|
|
2
|
+
import { ZERO_VERSION_COLUMN_NAME } from '../../../replicator/schema/replication-state.js';
|
|
3
|
+
import { unescapedSchema } from './shard.js';
|
|
4
|
+
const ALLOWED_IDENTIFIER_CHARS = /^[A-Za-z_]+[A-Za-z0-9_-]*$/;
|
|
5
|
+
export function validate(lc, shardID, table) {
|
|
6
|
+
const shardSchema = unescapedSchema(shardID);
|
|
7
|
+
if (!['public', 'zero', shardSchema].includes(table.schema)) {
|
|
8
|
+
// This may be relaxed in the future. We would need a plan for support in the AST first.
|
|
9
|
+
throw new UnsupportedTableSchemaError('Only the default "public" schema is supported.');
|
|
10
|
+
}
|
|
11
|
+
if (ZERO_VERSION_COLUMN_NAME in table.columns) {
|
|
12
|
+
throw new UnsupportedTableSchemaError(`Table "${table.name}" uses reserved column name "${ZERO_VERSION_COLUMN_NAME}"`);
|
|
13
|
+
}
|
|
14
|
+
if (table.primaryKey.length === 0) {
|
|
15
|
+
throw new UnsupportedTableSchemaError(`Table "${table.name}" does not have a PRIMARY KEY`);
|
|
16
|
+
}
|
|
17
|
+
if (!ALLOWED_IDENTIFIER_CHARS.test(table.name)) {
|
|
18
|
+
throw new UnsupportedTableSchemaError(`Table "${table.name}" has invalid characters.`);
|
|
19
|
+
}
|
|
20
|
+
for (const [col, spec] of Object.entries(table.columns)) {
|
|
21
|
+
if (!ALLOWED_IDENTIFIER_CHARS.test(col)) {
|
|
22
|
+
throw new UnsupportedTableSchemaError(`Column "${col}" in table "${table.name}" has invalid characters.`);
|
|
23
|
+
}
|
|
24
|
+
warnIfDataTypeSupported(lc, spec.dataType, table.name, col);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
export class UnsupportedTableSchemaError extends Error {
|
|
28
|
+
name = 'UnsupportedTableSchemaError';
|
|
29
|
+
constructor(msg) {
|
|
30
|
+
super(msg);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-streamer/pg/schema/validation.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAC,wBAAwB,EAAC,MAAM,iDAAiD,CAAC;AACzF,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAE3C,MAAM,wBAAwB,GAAG,4BAA4B,CAAC;AAE9D,MAAM,UAAU,QAAQ,CAAC,EAAc,EAAE,OAAe,EAAE,KAAgB;IACxE,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC7C,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5D,wFAAwF;QACxF,MAAM,IAAI,2BAA2B,CACnC,gDAAgD,CACjD,CAAC;IACJ,CAAC;IACD,IAAI,wBAAwB,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAC9C,MAAM,IAAI,2BAA2B,CACnC,UAAU,KAAK,CAAC,IAAI,gCAAgC,wBAAwB,GAAG,CAChF,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,2BAA2B,CACnC,UAAU,KAAK,CAAC,IAAI,+BAA+B,CACpD,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,2BAA2B,CACnC,UAAU,KAAK,CAAC,IAAI,2BAA2B,CAChD,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACxD,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,2BAA2B,CACnC,WAAW,GAAG,eAAe,KAAK,CAAC,IAAI,2BAA2B,CACnE,CAAC;QACJ,CAAC;QACD,uBAAuB,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IAC3C,IAAI,GAAG,6BAA6B,CAAC;IAE9C,YAAY,GAAW;QACrB,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;CACF"}
|
|
@@ -7,6 +7,9 @@ export declare const beginSchema: v.ObjectType<{
|
|
|
7
7
|
export declare const commitSchema: v.ObjectType<{
|
|
8
8
|
tag: v.Type<"commit">;
|
|
9
9
|
}, undefined>;
|
|
10
|
+
export declare const rollbackSchema: v.ObjectType<{
|
|
11
|
+
tag: v.Type<"rollback">;
|
|
12
|
+
}, undefined>;
|
|
10
13
|
export declare const relationSchema: v.ObjectType<{
|
|
11
14
|
tag: v.Type<"relation">;
|
|
12
15
|
schema: v.Type<string>;
|
|
@@ -171,6 +174,7 @@ export declare const dropIndexSchema: v.ObjectType<{
|
|
|
171
174
|
}, undefined>;
|
|
172
175
|
export type MessageBegin = v.Infer<typeof beginSchema>;
|
|
173
176
|
export type MessageCommit = v.Infer<typeof commitSchema>;
|
|
177
|
+
export type MessageRollback = v.Infer<typeof rollbackSchema>;
|
|
174
178
|
export type MessageRelation = v.Infer<typeof relationSchema>;
|
|
175
179
|
export type MessageInsert = v.Infer<typeof insertSchema>;
|
|
176
180
|
export type MessageUpdate = v.Infer<typeof updateSchema>;
|
|
@@ -324,7 +328,7 @@ export declare const dataChangeSchema: v.UnionType<[v.ObjectType<{
|
|
|
324
328
|
}, undefined>]>;
|
|
325
329
|
export type DataChange = Satisfies<JSONObject, // guarantees serialization over IPC or network
|
|
326
330
|
v.Infer<typeof dataChangeSchema>>;
|
|
327
|
-
export type Change = MessageBegin | DataChange | MessageCommit;
|
|
331
|
+
export type Change = MessageBegin | DataChange | MessageCommit | MessageRollback;
|
|
328
332
|
export type ChangeTag = Change['tag'];
|
|
329
333
|
export {};
|
|
330
334
|
//# sourceMappingURL=change.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-streamer/schema/change.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,qCAAqC,CAAC;AAEzD,OAAO,EAAkB,KAAK,UAAU,EAAC,MAAM,+BAA+B,CAAC;AAC/E,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,6BAA6B,CAAC;AAE3D,eAAO,MAAM,WAAW;;aAEtB,CAAC;AAEH,eAAO,MAAM,YAAY;;aAEvB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;aAWzB,CAAC;AAEH,eAAO,MAAM,SAAS,2EAA4B,CAAC;AAEnD,eAAO,MAAM,YAAY;;;;;;;;;;aAIvB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;aAMvB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;aAIvB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;aAGzB,CAAC;AAEH,QAAA,MAAM,gBAAgB;;;aAGpB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;aAG5B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;aAI5B,CAAC;AAOH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;aAI1B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;aAK7B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;aAI3B,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;aAG1B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;aAG5B,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;aAG1B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AACvD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"change.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-streamer/schema/change.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,9 @@ export const beginSchema = v.object({
|
|
|
7
7
|
export const commitSchema = v.object({
|
|
8
8
|
tag: v.literal('commit'),
|
|
9
9
|
});
|
|
10
|
+
export const rollbackSchema = v.object({
|
|
11
|
+
tag: v.literal('rollback'),
|
|
12
|
+
});
|
|
10
13
|
export const relationSchema = v.object({
|
|
11
14
|
tag: v.literal('relation'),
|
|
12
15
|
schema: v.string(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-streamer/schema/change.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"change.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-streamer/schema/change.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,qCAAqC,CAAC;AACzD,OAAO,EAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAC,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAC,eAAe,EAAkB,MAAM,+BAA+B,CAAC;AAG/E,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;CACxB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;CACzB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;CAC3B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,eAAe,EAAE,CAAC,CAAC,KAAK,CACtB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EACpB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EACpB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EACjB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CACnB;IACD,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAChC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AAEnD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACxB,QAAQ,EAAE,cAAc;IACxB,GAAG,EAAE,SAAS;CACf,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACxB,QAAQ,EAAE,cAAc;IACxB,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE;IACzB,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE;IACzB,GAAG,EAAE,SAAS;CACf,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACxB,QAAQ,EAAE,cAAc;IACxB,GAAG,EAAE,SAAS;CACf,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC1B,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;CACnC,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IAC9B,IAAI,EAAE,SAAS;CAChB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IAC9B,GAAG,EAAE,gBAAgB;IACrB,GAAG,EAAE,gBAAgB;CACtB,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,UAAU;CACjB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IAC5B,KAAK,EAAE,gBAAgB;IACvB,MAAM,EAAE,YAAY;CACrB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;IAC/B,KAAK,EAAE,gBAAgB;IACvB,GAAG,EAAE,YAAY;IACjB,GAAG,EAAE,YAAY;CAClB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IAC7B,KAAK,EAAE,gBAAgB;IACvB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IAC5B,EAAE,EAAE,gBAAgB;CACrB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IAC9B,IAAI,EAAE,SAAS;CAChB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IAC5B,EAAE,EAAE,gBAAgB;CACrB,CAAC,CAAC;AAqBH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CACrC,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,eAAe,CAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-streamer/schema/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAMjD,OAAO,KAAK,EAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-streamer/schema/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAMjD,OAAO,KAAK,EAAC,UAAU,EAAsB,MAAM,sBAAsB,CAAC;AAY1E,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,UAAU,EACf,EAAE,EAAE,UAAU,GACb,OAAO,CAAC,IAAI,CAAC,CASf"}
|
|
@@ -5,14 +5,12 @@ const setupMigration = {
|
|
|
5
5
|
minSafeVersion: 1,
|
|
6
6
|
};
|
|
7
7
|
const schemaVersionMigrationMap = {
|
|
8
|
-
|
|
9
|
-
// There are no incremental migrations yet, but if we were to, say introduce
|
|
10
|
-
// another column, setupCDCTables would be updated to create the table with
|
|
11
|
-
// the new column, and then there would be an incremental migration here at
|
|
12
|
-
// version `2` that adds the column for databases that were initialized to
|
|
13
|
-
// version `1`.
|
|
8
|
+
2: { migrateSchema: migrateV1toV2 },
|
|
14
9
|
};
|
|
15
10
|
export async function initChangeStreamerSchema(log, db) {
|
|
16
11
|
await runSchemaMigrations(log, 'change-streamer', PG_SCHEMA, db, setupMigration, schemaVersionMigrationMap);
|
|
17
12
|
}
|
|
13
|
+
async function migrateV1toV2(_, db) {
|
|
14
|
+
await db `ALTER TABLE cdc."replicationConfig" ADD "resetRequired" BOOL`;
|
|
15
|
+
}
|
|
18
16
|
//# sourceMappingURL=init.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-streamer/schema/init.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,GAGpB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAC,SAAS,EAAE,cAAc,EAAC,MAAM,aAAa,CAAC;AAEtD,MAAM,cAAc,GAAc;IAChC,aAAa,EAAE,cAAc;IAC7B,cAAc,EAAE,CAAC;CAClB,CAAC;AAEF,MAAM,yBAAyB,GAA4B;IACzD,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-streamer/schema/init.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,GAGpB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAC,SAAS,EAAE,cAAc,EAAC,MAAM,aAAa,CAAC;AAEtD,MAAM,cAAc,GAAc;IAChC,aAAa,EAAE,cAAc;IAC7B,cAAc,EAAE,CAAC;CAClB,CAAC;AAEF,MAAM,yBAAyB,GAA4B;IACzD,CAAC,EAAE,EAAC,aAAa,EAAE,aAAa,EAAC;CAClC,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,GAAe,EACf,EAAc;IAEd,MAAM,mBAAmB,CACvB,GAAG,EACH,iBAAiB,EACjB,SAAS,EACT,EAAE,EACF,cAAc,EACd,yBAAyB,CAC1B,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,CAAa,EAAE,EAAuB;IACjE,MAAM,EAAE,CAAA,8DAA8D,CAAC;AACzE,CAAC"}
|