@rocicorp/zero 0.5.2024110200 → 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} +1 -1
- package/out/{chunk-INJ4WJHS.js → chunk-V5NTGJ4X.js} +1152 -585
- package/out/chunk-V5NTGJ4X.js.map +7 -0
- 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/solid.js +4 -4
- package/out/solid.js.map +2 -2
- 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 +10 -18
- 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/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/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/crud.d.ts +56 -25
- 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/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 +8 -8
- 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/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 +26 -14
- package/out/zero-client/src/client/zero.d.ts.map +1 -1
- package/out/zero-client/src/mod.d.ts +4 -2
- 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-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 +1 -0
- package/out/zero-schema/src/mod.d.ts.map +1 -1
- 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/table-schema.d.ts +15 -7
- package/out/zero-schema/src/table-schema.d.ts.map +1 -1
- package/out/zero-schema/src/table-schema.js.map +1 -1
- package/out/zero.js +9 -13
- package/out/zql/src/builder/builder.d.ts +1 -1
- package/out/zql/src/builder/builder.d.ts.map +1 -1
- package/out/zql/src/builder/builder.js +74 -30
- package/out/zql/src/builder/builder.js.map +1 -1
- package/out/zql/src/builder/filter.d.ts +2 -1
- package/out/zql/src/builder/filter.d.ts.map +1 -1
- package/out/zql/src/builder/filter.js +18 -0
- package/out/zql/src/builder/filter.js.map +1 -1
- package/out/zql/src/builder/like.d.ts +2 -2
- package/out/zql/src/builder/like.d.ts.map +1 -1
- package/out/zql/src/ivm/change.d.ts +1 -0
- package/out/zql/src/ivm/change.d.ts.map +1 -1
- package/out/zql/src/ivm/change.js +4 -1
- package/out/zql/src/ivm/change.js.map +1 -1
- 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/ivm/fan-in.d.ts +1 -1
- package/out/zql/src/ivm/fan-in.d.ts.map +1 -1
- package/out/zql/src/ivm/fan-in.js +3 -3
- package/out/zql/src/ivm/fan-in.js.map +1 -1
- package/out/zql/src/ivm/fan-out.d.ts.map +1 -1
- package/out/zql/src/ivm/fan-out.js +4 -7
- package/out/zql/src/ivm/fan-out.js.map +1 -1
- package/out/zql/src/ivm/filter.js +1 -1
- package/out/zql/src/ivm/filter.js.map +1 -1
- package/out/zql/src/ivm/memory-source.d.ts +10 -6
- package/out/zql/src/ivm/memory-source.d.ts.map +1 -1
- package/out/zql/src/ivm/memory-source.js +60 -75
- package/out/zql/src/ivm/memory-source.js.map +1 -1
- package/out/zql/src/ivm/skip.js +1 -1
- package/out/zql/src/ivm/skip.js.map +1 -1
- package/out/zql/src/ivm/take.d.ts +1 -1
- package/out/zql/src/ivm/take.d.ts.map +1 -1
- package/out/zql/src/ivm/take.js +11 -7
- package/out/zql/src/ivm/take.js.map +1 -1
- package/out/zql/src/query/auth-query.d.ts +7 -3
- package/out/zql/src/query/auth-query.d.ts.map +1 -1
- 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/expression.d.ts +40 -23
- package/out/zql/src/query/expression.d.ts.map +1 -1
- package/out/zql/src/query/query-impl.d.ts +7 -6
- package/out/zql/src/query/query-impl.d.ts.map +1 -1
- package/out/zql/src/query/query.d.ts +17 -46
- package/out/zql/src/query/query.d.ts.map +1 -1
- 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 +12 -3
- package/out/zqlite/src/table-source.d.ts.map +1 -1
- package/out/zqlite/src/table-source.js +81 -2
- package/out/zqlite/src/table-source.js.map +1 -1
- package/package.json +7 -11
- package/out/chunk-INJ4WJHS.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/shared/src/immutable.js +0 -2
- package/out/shared/src/immutable.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/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 -121
- 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/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-protocol/src/ast-hash.js +0 -14
- package/out/zero-protocol/src/ast-hash.js.map +0 -1
- package/out/zero-schema/src/mod.js +0 -4
- package/out/zero-schema/src/mod.js.map +0 -1
- package/out/zero-schema/src/normalize-table-schema.js +0 -116
- package/out/zero-schema/src/normalize-table-schema.js.map +0 -1
- package/out/zero-schema/src/schema.js +0 -4
- package/out/zero-schema/src/schema.js.map +0 -1
- package/out/zql/src/ivm/array-view.js +0 -70
- package/out/zql/src/ivm/array-view.js.map +0 -1
- package/out/zql/src/ivm/view-apply-change.js +0 -156
- package/out/zql/src/ivm/view-apply-change.js.map +0 -1
- package/out/zql/src/ivm/view.js +0 -2
- package/out/zql/src/ivm/view.js.map +0 -1
- package/out/zql/src/query/auth-query.js +0 -26
- package/out/zql/src/query/auth-query.js.map +0 -1
- package/out/zql/src/query/expression.js +0 -121
- package/out/zql/src/query/expression.js.map +0 -1
- package/out/zql/src/query/query-impl.js +0 -291
- package/out/zql/src/query/query-impl.js.map +0 -1
- package/out/zql/src/query/query-internal.js +0 -2
- package/out/zql/src/query/query-internal.js.map +0 -1
- package/out/zql/src/query/query.js +0 -3
- package/out/zql/src/query/query.js.map +0 -1
- package/out/zql/src/query/typed-view.js +0 -2
- package/out/zql/src/query/typed-view.js.map +0 -1
- /package/out/{internal.js.map → advanced.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zero-config.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/config/zero-config.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"zero-config.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/config/zero-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,CAAC,MAAM,+BAA+B,CAAC;AACnD,OAAO,EAAe,KAAK,MAAM,EAAC,MAAM,aAAa,CAAC;AAEtD;;GAEG;AACH,QAAA,MAAM,YAAY;;;;;;;;;;CAqCjB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,YAAY,CAAC,CAAC;AAEtD,QAAA,MAAM,UAAU;;;;;;CAiBf,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;AAK5D,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8LvB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AAMpD,wBAAgB,aAAa,CAAC,IAAI,WAAwB,GAAG,UAAU,CAOtE"}
|
|
@@ -1,129 +1,256 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* These types represent the _compiled_ config whereas `define-config` types represent the _source_ config.
|
|
3
3
|
*/
|
|
4
|
-
import path from 'node:path';
|
|
5
|
-
import { fileURLToPath } from 'node:url';
|
|
6
|
-
import { tsImport } from 'tsx/esm/api';
|
|
7
4
|
import * as v from '../../../shared/src/valita.js';
|
|
8
|
-
import {
|
|
9
|
-
const ruleSchema = v.tuple([v.literal('allow'), astSchema]);
|
|
10
|
-
const policySchema = v.array(ruleSchema);
|
|
11
|
-
const assetSchema = v.object({
|
|
12
|
-
select: policySchema.optional(),
|
|
13
|
-
insert: policySchema.optional(),
|
|
14
|
-
update: policySchema.optional(),
|
|
15
|
-
delete: policySchema.optional(),
|
|
16
|
-
});
|
|
17
|
-
const authorizationConfigSchema = v.record(v.object({
|
|
18
|
-
table: assetSchema.optional(),
|
|
19
|
-
column: v.record(assetSchema).optional(),
|
|
20
|
-
row: assetSchema.optional(),
|
|
21
|
-
cell: v.record(assetSchema).optional(),
|
|
22
|
-
}));
|
|
5
|
+
import { parseOptions } from './config.js';
|
|
23
6
|
/**
|
|
24
7
|
* Configures the view of the upstream database replicated to this zero-cache.
|
|
25
8
|
*/
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
9
|
+
const shardOptions = {
|
|
10
|
+
id: {
|
|
11
|
+
type: v.string().default('0'),
|
|
12
|
+
desc: [
|
|
13
|
+
'Unique identifier for the zero-cache shard.',
|
|
14
|
+
'',
|
|
15
|
+
'A shard presents a logical partition of the upstream database, delineated',
|
|
16
|
+
'by a set of publications and managed by a dedicated replication slot.',
|
|
17
|
+
'',
|
|
18
|
+
`A shard's zero {bold clients} table and shard-internal functions are stored in`,
|
|
19
|
+
`the {bold zero_\\{id\\}} schema in the upstream database.`,
|
|
20
|
+
'',
|
|
21
|
+
'Due to constraints on replication slot names, a shard ID may only consist of',
|
|
22
|
+
'lower-case letters, numbers, and the underscore character.',
|
|
23
|
+
],
|
|
24
|
+
allCaps: true, // so that the flag is --shardID
|
|
25
|
+
},
|
|
26
|
+
publications: {
|
|
27
|
+
type: v.array(v.string()).optional(() => []),
|
|
28
|
+
desc: [
|
|
29
|
+
`Postgres {bold PUBLICATION}s that define the partition of the upstream`,
|
|
30
|
+
`replicated to the shard. All publication names must begin with the prefix`,
|
|
31
|
+
`{bold zero_}, and all tables must be in the {bold public} schema.`,
|
|
32
|
+
``,
|
|
33
|
+
`If unspecified, zero-cache will create and use a {bold zero_public} publication that`,
|
|
34
|
+
`publishes all tables in the {bold public} schema, i.e.:`,
|
|
35
|
+
``,
|
|
36
|
+
`CREATE PUBLICATION zero_public FOR TABLES IN SCHEMA public;`,
|
|
37
|
+
``,
|
|
38
|
+
`Note that once a shard has begun syncing data, this list of publications`,
|
|
39
|
+
`cannot be changed, and zero-cache will refuse to start if a specified`,
|
|
40
|
+
`value differs from what was originally synced.`,
|
|
41
|
+
``,
|
|
42
|
+
`To use a different set of publications, a new shard should be created.`,
|
|
43
|
+
],
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
const logOptions = {
|
|
63
47
|
level: v
|
|
64
48
|
.union(v.literal('debug'), v.literal('info'), v.literal('warn'), v.literal('error'))
|
|
65
|
-
.
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
}
|
|
74
|
-
const
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
49
|
+
.default('info'),
|
|
50
|
+
format: {
|
|
51
|
+
type: v.union(v.literal('text'), v.literal('json')).default('text'),
|
|
52
|
+
desc: [
|
|
53
|
+
`Use {bold text} for developer-friendly console logging`,
|
|
54
|
+
`and {bold json} for consumption by structured-logging services`,
|
|
55
|
+
],
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
const perUserMutationLimit = {
|
|
59
|
+
max: {
|
|
60
|
+
type: v.number().optional(),
|
|
61
|
+
desc: [
|
|
62
|
+
`The maximum mutations per user within the specified {bold windowMs}.`,
|
|
63
|
+
`If unset, no rate limiting is enforced.`,
|
|
64
|
+
],
|
|
65
|
+
},
|
|
66
|
+
windowMs: {
|
|
67
|
+
type: v.number().default(60_000),
|
|
68
|
+
desc: [
|
|
69
|
+
`The sliding window over which the {bold perUserMutationLimitMax} is enforced.`,
|
|
70
|
+
],
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
// Note: --help will list flags in the order in which they are defined here,
|
|
74
|
+
// so order the fields such that the important (e.g. required) ones are first.
|
|
75
|
+
// (Exported for testing)
|
|
76
|
+
export const zeroOptions = {
|
|
77
|
+
upstream: {
|
|
78
|
+
db: {
|
|
79
|
+
type: v.string(),
|
|
80
|
+
desc: [
|
|
81
|
+
`The "upstream" authoritative postgres database.`,
|
|
82
|
+
`In the future we will support other types of upstream besides PG.`,
|
|
83
|
+
],
|
|
84
|
+
},
|
|
85
|
+
maxConns: {
|
|
86
|
+
type: v.number().default(20),
|
|
87
|
+
desc: [
|
|
88
|
+
`The maximum number of connections to open to the upstream database`,
|
|
89
|
+
`for committing mutations. This is divided evenly amongst sync workers.`,
|
|
90
|
+
`In addition to this number, zero-cache uses one connection for the`,
|
|
91
|
+
`replication stream.`,
|
|
92
|
+
``,
|
|
93
|
+
`Note that this number must allow for at least one connection per`,
|
|
94
|
+
`sync worker, or zero-cache will fail to start. See {bold --numSyncWorkers}`,
|
|
95
|
+
],
|
|
96
|
+
},
|
|
97
|
+
maxConnsPerWorker: {
|
|
98
|
+
type: v.number().optional(),
|
|
99
|
+
hidden: true, // Passed from main thread to sync workers
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
cvr: {
|
|
103
|
+
db: {
|
|
104
|
+
type: v.string(),
|
|
105
|
+
desc: [
|
|
106
|
+
`A separate Postgres database we use to store CVRs. CVRs (client view records)`,
|
|
107
|
+
`keep track of which clients have which data. This is how we know what diff to`,
|
|
108
|
+
`send on reconnect. It can be same database as above, but it makes most sense`,
|
|
109
|
+
`for it to be a separate "database" in the same postgres "cluster".`,
|
|
110
|
+
],
|
|
111
|
+
},
|
|
112
|
+
maxConns: {
|
|
113
|
+
type: v.number().default(30),
|
|
114
|
+
desc: [
|
|
115
|
+
`The maximum number of connections to open to the CVR database.`,
|
|
116
|
+
`This is divided evenly amongst sync workers.`,
|
|
117
|
+
``,
|
|
118
|
+
`Note that this number must allow for at least one connection per`,
|
|
119
|
+
`sync worker, or zero-cache will fail to start. See {bold --numSyncWorkers}`,
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
maxConnsPerWorker: {
|
|
123
|
+
type: v.number().optional(),
|
|
124
|
+
hidden: true, // Passed from main thread to sync workers
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
change: {
|
|
128
|
+
db: {
|
|
129
|
+
type: v.string(),
|
|
130
|
+
desc: [`Yet another Postgres database, used to store a replication log.`],
|
|
131
|
+
},
|
|
132
|
+
maxConns: {
|
|
133
|
+
type: v.number().default(1),
|
|
134
|
+
desc: [
|
|
135
|
+
`The maximum number of connections to open to the change database.`,
|
|
136
|
+
`This is used by the {bold change-streamer} for catching up`,
|
|
137
|
+
`{bold zero-cache} replication subscriptions.`,
|
|
138
|
+
],
|
|
139
|
+
},
|
|
140
|
+
},
|
|
141
|
+
replicaFile: {
|
|
142
|
+
type: v.string(),
|
|
143
|
+
desc: [
|
|
144
|
+
`File path to the SQLite replica that zero-cache maintains.`,
|
|
145
|
+
`This can be lost, but if it is, zero-cache will have to re-replicate next`,
|
|
146
|
+
`time it starts up.`,
|
|
147
|
+
],
|
|
148
|
+
},
|
|
149
|
+
log: logOptions,
|
|
150
|
+
shard: shardOptions,
|
|
151
|
+
port: {
|
|
152
|
+
type: v.number().default(4848),
|
|
153
|
+
desc: [
|
|
154
|
+
`The main port for client connections.`,
|
|
155
|
+
`Internally, zero-cache will also listen on the 2 ports after {bold --port}.`,
|
|
156
|
+
],
|
|
157
|
+
},
|
|
158
|
+
changeStreamerPort: {
|
|
159
|
+
type: v.number().optional(),
|
|
160
|
+
desc: [
|
|
161
|
+
`The port on which the {bold change-streamer} runs. This is an internal`,
|
|
162
|
+
`protocol between the {bold replication-manager} and {bold zero-cache}, which`,
|
|
163
|
+
`runs in the same process in local development.`,
|
|
164
|
+
``,
|
|
165
|
+
`If unspecified, defaults to {bold --port} + 1.`,
|
|
166
|
+
],
|
|
167
|
+
},
|
|
168
|
+
heartbeatMonitorPort: {
|
|
169
|
+
type: v.number().optional(),
|
|
170
|
+
desc: [
|
|
171
|
+
`The port on which the heartbeat monitor listens for heartbeat`,
|
|
172
|
+
`health checks. Once health checks are received at this port,`,
|
|
173
|
+
`the monitor considers it a keepalive signal and triggers a drain`,
|
|
174
|
+
`if health checks stop for more than 15 seconds. If health checks`,
|
|
175
|
+
`never arrive on this port, the monitor does nothing (i.e. opt-in).`,
|
|
176
|
+
``,
|
|
177
|
+
`If unspecified, defaults to {bold --port} + 2.`,
|
|
178
|
+
],
|
|
179
|
+
},
|
|
180
|
+
jwtSecret: {
|
|
181
|
+
type: v.string().optional(),
|
|
182
|
+
desc: [`JWT secret for verifying authentication tokens.`],
|
|
183
|
+
},
|
|
184
|
+
perUserMutationLimit,
|
|
185
|
+
numSyncWorkers: {
|
|
186
|
+
type: v.number().optional(),
|
|
187
|
+
desc: [
|
|
188
|
+
`The number of processes to use for view syncing.`,
|
|
189
|
+
`Leave this unset to use the maximum available parallelism.`,
|
|
190
|
+
`If set to 0, the server runs without sync workers, which is the`,
|
|
191
|
+
`configuration for running the {bold replication-manager}.`,
|
|
192
|
+
],
|
|
193
|
+
},
|
|
194
|
+
changeStreamerURI: {
|
|
195
|
+
type: v.string().optional(),
|
|
196
|
+
desc: [
|
|
197
|
+
`When unset, the zero-cache runs its own {bold replication-manager}`,
|
|
198
|
+
`(i.e. {bold change-streamer}). In production, this should be set to`,
|
|
199
|
+
`the {bold replication-manager} URI, which runs a {bold change-streamer}`,
|
|
200
|
+
`on port 4849.`,
|
|
201
|
+
],
|
|
202
|
+
},
|
|
203
|
+
autoReset: {
|
|
204
|
+
type: v.boolean().optional(),
|
|
205
|
+
desc: [
|
|
206
|
+
`Automatically wipe and resync the replica when replication is halted.`,
|
|
207
|
+
`This situation can occur for configurations in which the upstream database`,
|
|
208
|
+
`provider prohibits event trigger creation, preventing the zero-cache from`,
|
|
209
|
+
`being able to correctly replicating schema changes. For such configurations,`,
|
|
210
|
+
`an upstream schema change will instead result in halting replication with an`,
|
|
211
|
+
`error indicating that the replica needs to be reset.`,
|
|
212
|
+
``,
|
|
213
|
+
`When {bold auto-reset} is enabled, zero-cache will respond to such situations`,
|
|
214
|
+
`by shutting down, and when restarted, resetting the replica and all synced `,
|
|
215
|
+
`clients. This is a heavy-weight operation and can result in user-visible`,
|
|
216
|
+
`slowness or downtime if compute resources are scarce.`,
|
|
217
|
+
``,
|
|
218
|
+
`Moreover, {bold auto-reset} is only supported for single-node configurations`,
|
|
219
|
+
`with a permanent volume for the replica. Specifically, it is incompatible`,
|
|
220
|
+
`with the {bold litestream} option, and will be ignored with a warning if`,
|
|
221
|
+
`set in combination with {bold litestream}.`,
|
|
222
|
+
],
|
|
223
|
+
},
|
|
224
|
+
litestream: {
|
|
225
|
+
type: v.boolean().optional(),
|
|
226
|
+
desc: [
|
|
227
|
+
`Indicates that a {bold litestream replicate} process is backing up the`,
|
|
228
|
+
`{bold replica-file}. This should be the production configuration for the`,
|
|
229
|
+
`{bold replication-manager}. It is okay to run this in development too.`,
|
|
230
|
+
``,
|
|
231
|
+
`Note that this flag does actually run {bold litestream}; rather, it `,
|
|
232
|
+
`configures the internal replication logic to operate on the DB file in `,
|
|
233
|
+
`a manner that is compatible with {bold litestream}.`,
|
|
234
|
+
],
|
|
235
|
+
},
|
|
236
|
+
storageDBTmpDir: {
|
|
237
|
+
type: v.string().optional(),
|
|
238
|
+
desc: [
|
|
239
|
+
`tmp directory for IVM operator storage. Leave unset to use os.tmpdir()`,
|
|
240
|
+
],
|
|
241
|
+
},
|
|
242
|
+
warmWebsocket: {
|
|
243
|
+
type: v.number().optional(),
|
|
244
|
+
hidden: true, // for internal experimentation
|
|
245
|
+
},
|
|
246
|
+
};
|
|
247
|
+
const ENV_VAR_PREFIX = 'ZERO_';
|
|
112
248
|
let loadedConfig;
|
|
113
|
-
export function getZeroConfig() {
|
|
114
|
-
if (loadedConfig) {
|
|
115
|
-
|
|
249
|
+
export function getZeroConfig(argv = process.argv.slice(2)) {
|
|
250
|
+
if (!loadedConfig) {
|
|
251
|
+
const config = parseOptions(zeroOptions, argv, ENV_VAR_PREFIX);
|
|
252
|
+
loadedConfig = config;
|
|
116
253
|
}
|
|
117
|
-
const dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
118
|
-
const configFile = process.env['ZERO_CONFIG_PATH'] ?? './zero.config.ts';
|
|
119
|
-
const absoluteConfigPath = path.resolve(configFile);
|
|
120
|
-
const relativePath = path.join(path.relative(dirname, path.dirname(absoluteConfigPath)), path.basename(absoluteConfigPath));
|
|
121
|
-
loadedConfig = tsImport(relativePath, import.meta.url)
|
|
122
|
-
.then(async (module) => (await module.default))
|
|
123
|
-
.catch(e => {
|
|
124
|
-
console.error(`Failed to load zero config from ${absoluteConfigPath}: ${e}`);
|
|
125
|
-
throw e;
|
|
126
|
-
});
|
|
127
254
|
return loadedConfig;
|
|
128
255
|
}
|
|
129
256
|
//# sourceMappingURL=zero-config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zero-config.js","sourceRoot":"","sources":["../../../../../zero-cache/src/config/zero-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"zero-config.js","sourceRoot":"","sources":["../../../../../zero-cache/src/config/zero-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-lite-db.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/db/delete-lite-db.ts"],"names":[],"mappings":"AAEA,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,QAI1C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-lite-db.js","sourceRoot":"","sources":["../../../../../zero-cache/src/db/delete-lite-db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,IAAI,CAAC;AAE1B,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,KAAK,MAAM,MAAM,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,GAAG,MAAM,GAAG,MAAM,EAAE,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC"}
|
|
@@ -74,6 +74,7 @@ export declare const versionHistory: v.ObjectType<{
|
|
|
74
74
|
minSafeVersion: v.Type<number>;
|
|
75
75
|
}, undefined>;
|
|
76
76
|
export type VersionHistory = v.Infer<typeof versionHistory>;
|
|
77
|
+
export declare function createVersionHistoryTable(sql: postgres.Sql, schemaName: string): Promise<void>;
|
|
77
78
|
export declare function getVersionHistory(sql: postgres.Sql, schemaName: string): Promise<VersionHistory>;
|
|
78
79
|
export {};
|
|
79
80
|
//# sourceMappingURL=migration.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/db/migration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAGrC,OAAO,KAAK,CAAC,MAAM,+BAA+B,CAAC;AACnD,OAAO,KAAK,EAAC,UAAU,EAAE,mBAAmB,EAAC,MAAM,gBAAgB,CAAC;AAEpE,KAAK,UAAU,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE9E;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB;;;;OAIG;IACH,aAAa,CAAC,EAAE,UAAU,CAAC;IAE3B;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,UAAU,CAAC;IAEzB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,CAAC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC,CAAC;AAEF;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,UAAU,EACf,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,UAAU,EACd,cAAc,EAAE,SAAS,EACzB,uBAAuB,EAAE,uBAAuB,GAC/C,OAAO,CAAC,IAAI,CAAC,CA+Ef;AAaD,eAAO,MAAM,cAAc;IACzB;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;OAIG;;aAEH,CAAC;AAGH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAG5D,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,QAAQ,CAAC,GAAG,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/db/migration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAGrC,OAAO,KAAK,CAAC,MAAM,+BAA+B,CAAC;AACnD,OAAO,KAAK,EAAC,UAAU,EAAE,mBAAmB,EAAC,MAAM,gBAAgB,CAAC;AAEpE,KAAK,UAAU,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE9E;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB;;;;OAIG;IACH,aAAa,CAAC,EAAE,UAAU,CAAC;IAE3B;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,UAAU,CAAC;IAEzB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,CAAC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC,CAAC;AAEF;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,UAAU,EACf,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,UAAU,EACd,cAAc,EAAE,SAAS,EACzB,uBAAuB,EAAE,uBAAuB,GAC/C,OAAO,CAAC,IAAI,CAAC,CA+Ef;AAaD,eAAO,MAAM,cAAc;IACzB;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;OAIG;;aAEH,CAAC;AAGH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAG5D,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,QAAQ,CAAC,GAAG,EACjB,UAAU,EAAE,MAAM,iBAcnB;AAGD,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,QAAQ,CAAC,GAAG,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,CAAC,CAiBzB"}
|
|
@@ -88,10 +88,10 @@ export const versionHistory = v.object({
|
|
|
88
88
|
*/
|
|
89
89
|
minSafeVersion: v.number(),
|
|
90
90
|
});
|
|
91
|
-
// Exposed for tests
|
|
92
|
-
export async function
|
|
91
|
+
// Exposed for tests.
|
|
92
|
+
export async function createVersionHistoryTable(sql, schemaName) {
|
|
93
93
|
// Note: The `lock` column transparently ensures that at most one row exists.
|
|
94
|
-
|
|
94
|
+
await sql `
|
|
95
95
|
CREATE SCHEMA IF NOT EXISTS ${sql(schemaName)};
|
|
96
96
|
CREATE TABLE IF NOT EXISTS ${sql(schemaName)}."versionHistory" (
|
|
97
97
|
"dataVersion" int NOT NULL,
|
|
@@ -101,10 +101,20 @@ export async function getVersionHistory(sql, schemaName) {
|
|
|
101
101
|
lock char(1) NOT NULL CONSTRAINT DF_schema_meta_lock DEFAULT 'v',
|
|
102
102
|
CONSTRAINT PK_schema_meta_lock PRIMARY KEY (lock),
|
|
103
103
|
CONSTRAINT CK_schema_meta_lock CHECK (lock='v')
|
|
104
|
-
);
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
104
|
+
);`.simple();
|
|
105
|
+
}
|
|
106
|
+
// Exposed for tests
|
|
107
|
+
export async function getVersionHistory(sql, schemaName) {
|
|
108
|
+
const exists = await sql `
|
|
109
|
+
SELECT nspname, relname FROM pg_class
|
|
110
|
+
JOIN pg_namespace ON relnamespace = pg_namespace.oid
|
|
111
|
+
WHERE nspname = ${schemaName} AND relname = ${'versionHistory'}`;
|
|
112
|
+
if (exists.length === 0) {
|
|
113
|
+
await createVersionHistoryTable(sql, schemaName);
|
|
114
|
+
}
|
|
115
|
+
const rows = await sql `
|
|
116
|
+
SELECT "dataVersion", "schemaVersion", "minSafeVersion"
|
|
117
|
+
FROM ${sql(schemaName)}."versionHistory"`;
|
|
108
118
|
if (rows.length === 0) {
|
|
109
119
|
return { schemaVersion: 0, dataVersion: 0, minSafeVersion: 0 };
|
|
110
120
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration.js","sourceRoot":"","sources":["../../../../../zero-cache/src/db/migration.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"migration.js","sourceRoot":"","sources":["../../../../../zero-cache/src/db/migration.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ export declare function warnIfDataTypeSupported(lc: LogContext, pgDataType: stri
|
|
|
5
5
|
export declare function mapPostgresToLiteColumn(table: string, column: {
|
|
6
6
|
name: string;
|
|
7
7
|
spec: ColumnSpec;
|
|
8
|
-
}): ColumnSpec;
|
|
8
|
+
}, ignoreDefault?: 'ignore-default'): ColumnSpec;
|
|
9
9
|
export declare function mapPostgresToLite(t: TableSpec): LiteTableSpec;
|
|
10
10
|
export declare function mapPostgresToLiteIndex(index: IndexSpec): LiteIndexSpec;
|
|
11
11
|
//# sourceMappingURL=pg-to-lite.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pg-to-lite.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/db/pg-to-lite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAIjD,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EACT,aAAa,EACb,aAAa,EACb,SAAS,EACV,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,wBAAwB,EAAE,UAMtC,CAAC;AAEF,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,UAAU,EACd,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,QAQf;AAqCD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAC,
|
|
1
|
+
{"version":3,"file":"pg-to-lite.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/db/pg-to-lite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAIjD,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EACT,aAAa,EACb,aAAa,EACb,SAAS,EACV,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,wBAAwB,EAAE,UAMtC,CAAC;AAEF,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,UAAU,EACd,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,QAQf;AAqCD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAC,EACxC,aAAa,CAAC,EAAE,gBAAgB,GAC/B,UAAU,CAYZ;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,SAAS,GAAG,aAAa,CAkB7D;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,GAAG,aAAa,CAOtE"}
|
|
@@ -39,14 +39,16 @@ function mapPostgresToLiteDefault(table, column, dataType, defaultExpression) {
|
|
|
39
39
|
}
|
|
40
40
|
return match[1];
|
|
41
41
|
}
|
|
42
|
-
export function mapPostgresToLiteColumn(table, column) {
|
|
42
|
+
export function mapPostgresToLiteColumn(table, column, ignoreDefault) {
|
|
43
43
|
const { pos, dataType, notNull, dflt } = column.spec;
|
|
44
44
|
return {
|
|
45
45
|
pos,
|
|
46
46
|
dataType,
|
|
47
47
|
characterMaximumLength: null,
|
|
48
48
|
notNull,
|
|
49
|
-
dflt:
|
|
49
|
+
dflt: ignoreDefault === 'ignore-default'
|
|
50
|
+
? null
|
|
51
|
+
: mapPostgresToLiteDefault(table, column.name, dataType, dflt),
|
|
50
52
|
};
|
|
51
53
|
}
|
|
52
54
|
export function mapPostgresToLite(t) {
|
|
@@ -58,7 +60,9 @@ export function mapPostgresToLite(t) {
|
|
|
58
60
|
columns: {
|
|
59
61
|
...Object.fromEntries(Object.entries(t.columns).map(([col, spec]) => [
|
|
60
62
|
col,
|
|
61
|
-
|
|
63
|
+
// `ignore-default` for create table statements because
|
|
64
|
+
// there are no rows to set the default for.
|
|
65
|
+
mapPostgresToLiteColumn(name, { name: col, spec }, 'ignore-default'),
|
|
62
66
|
])),
|
|
63
67
|
[ZERO_VERSION_COLUMN_NAME]: ZERO_VERSION_COLUMN_SPEC,
|
|
64
68
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pg-to-lite.js","sourceRoot":"","sources":["../../../../../zero-cache/src/db/pg-to-lite.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,wBAAwB,EAAC,MAAM,oDAAoD,CAAC;AAC5F,OAAO,EAAC,sBAAsB,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAShD,MAAM,CAAC,MAAM,wBAAwB,GAAe;IAClD,GAAG,EAAE,MAAM,CAAC,gBAAgB,EAAE,YAAY;IAC1C,sBAAsB,EAAE,IAAI;IAC5B,QAAQ,EAAE,MAAM;IAChB,OAAO,EAAE,IAAI;IACb,IAAI,EAAE,IAAI;CACX,CAAC;AAEF,MAAM,UAAU,uBAAuB,CACrC,EAAc,EACd,UAAkB,EAClB,KAAa,EACb,MAAc;IAEd,IAAI,sBAAsB,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE,CAAC;QACrD,EAAE,CAAC,IAAI,EAAE,CACP,+CAA+C,UAAU,gBAAgB;YACvE,QAAQ,KAAK,MAAM,MAAM,6CAA6C,CACzE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,oCAAoC;AACpC,MAAM,6BAA6B,GAAG,WAAW,CAAC;AAElD,4EAA4E;AAC5E,6EAA6E;AAC7E,+DAA+D;AAC/D,EAAE;AACF,yEAAyE;AACzE,mBAAmB;AACnB,MAAM,uBAAuB,GAAG,iBAAiB,CAAC;AAElD,SAAS,wBAAwB,CAC/B,KAAa,EACb,MAAc,EACd,QAAgB,EAChB,iBAA4C;IAE5C,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,6BAA6B,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC1D,IAAI,sBAAsB,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;YACnD,OAAO,iBAAiB,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAClD,CAAC;QACD,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,MAAM,KAAK,GAAG,uBAAuB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC9D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,iCAAiC,KAAK,IAAI,MAAM,KAAK,iBAAiB,EAAE,CACzE,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,KAAa,EACb,MAAwC;
|
|
1
|
+
{"version":3,"file":"pg-to-lite.js","sourceRoot":"","sources":["../../../../../zero-cache/src/db/pg-to-lite.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { LogContext } from '@rocicorp/logger';
|
|
2
|
+
import { type PostgresDB } from '../types/pg.js';
|
|
3
|
+
/**
|
|
4
|
+
* Manages on-demand short-lived connections to a DB, shutting down after
|
|
5
|
+
* an idle delay.
|
|
6
|
+
*/
|
|
7
|
+
export declare class ShortLivedClient {
|
|
8
|
+
#private;
|
|
9
|
+
constructor(lc: LogContext, dbConnStr: string, appName: string, idleDelay?: number);
|
|
10
|
+
/**
|
|
11
|
+
* Get (or refresh) an upstream DB client that automatically closes
|
|
12
|
+
* after being idle for 10 seconds.
|
|
13
|
+
*/
|
|
14
|
+
get db(): PostgresDB;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=short-lived-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"short-lived-client.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/db/short-lived-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAW,KAAK,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAEzD;;;GAGG;AACH,qBAAa,gBAAgB;;gBAUzB,EAAE,EAAE,UAAU,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,SAAS,SAAS;IAQpB;;;OAGG;IACH,IAAI,EAAE,IAAI,UAAU,CAuBnB;CACF"}
|