@rocicorp/zero 0.25.0-canary.1 → 0.25.0-canary.3
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/analyze-query/src/bin-analyze.js +27 -38
- package/out/analyze-query/src/bin-analyze.js.map +1 -1
- package/out/ast-to-zql/src/bin.js.map +1 -1
- package/out/{chunk-ZZXMKAAG.js → chunk-5H7WNLPK.js} +2 -2
- package/out/chunk-HYS7YLNL.js +575 -0
- package/out/chunk-HYS7YLNL.js.map +7 -0
- package/out/{chunk-AIPM77UE.js → chunk-IWL6EEA6.js} +10418 -10217
- package/out/chunk-IWL6EEA6.js.map +7 -0
- package/out/{chunk-TJFNGO7E.js → chunk-JKP7HDC6.js} +15 -53
- package/out/chunk-JKP7HDC6.js.map +7 -0
- package/out/{chunk-ECUMGQGC.js → chunk-RYFBHAD4.js} +17 -4
- package/out/chunk-RYFBHAD4.js.map +7 -0
- package/out/chunk-SRLXXPNB.js +495 -0
- package/out/chunk-SRLXXPNB.js.map +7 -0
- package/out/{chunk-EZM3XBAB.js → chunk-U2KJIWVC.js} +47 -2
- package/out/chunk-U2KJIWVC.js.map +7 -0
- package/out/expo-sqlite.js +4 -4
- package/out/{inspector-IU2HG74I.js → inspector-GP3CBZRU.js} +1 -1
- package/out/inspector-GP3CBZRU.js.map +7 -0
- package/out/{lazy-inspector-OXIFYSSQ.js → lazy-inspector-4CO3DXP5.js} +9 -8
- package/out/lazy-inspector-4CO3DXP5.js.map +7 -0
- package/out/op-sqlite.js +3 -3
- package/out/react-native.js +4 -4
- package/out/react.js +63 -49
- package/out/react.js.map +2 -2
- package/out/replicache/src/kv/sqlite-store.d.ts +7 -1
- package/out/replicache/src/kv/sqlite-store.d.ts.map +1 -1
- package/out/replicache/src/replicache-impl.d.ts.map +1 -1
- package/out/replicache/src/replicache-options.d.ts +3 -2
- package/out/replicache/src/replicache-options.d.ts.map +1 -1
- package/out/replicache/src/sqlite.d.ts +1 -1
- package/out/replicache/src/sqlite.d.ts.map +1 -1
- package/out/shared/src/error.d.ts +4 -0
- package/out/shared/src/error.d.ts.map +1 -0
- package/out/shared/src/error.js +70 -0
- package/out/shared/src/error.js.map +1 -0
- package/out/solid.js +52 -24
- package/out/solid.js.map +2 -2
- package/out/sqlite.js +5 -3
- package/out/z2s/src/compiler.d.ts +2 -2
- package/out/z2s/src/compiler.d.ts.map +1 -1
- package/out/z2s/src/compiler.js.map +1 -1
- package/out/z2s/src/sql.d.ts +1 -1
- package/out/z2s/src/sql.d.ts.map +1 -1
- package/out/zero/package.json +5 -3
- package/out/zero/src/zero-out.d.ts +3 -0
- package/out/zero/src/zero-out.d.ts.map +1 -0
- package/out/zero/src/zero-out.js +13 -0
- package/out/zero/src/zero-out.js.map +1 -0
- package/out/zero-cache/src/auth/load-permissions.d.ts +1 -1
- package/out/zero-cache/src/auth/load-permissions.d.ts.map +1 -1
- package/out/zero-cache/src/auth/load-permissions.js.map +1 -1
- package/out/zero-cache/src/auth/write-authorizer.d.ts.map +1 -1
- package/out/zero-cache/src/auth/write-authorizer.js +36 -12
- package/out/zero-cache/src/auth/write-authorizer.js.map +1 -1
- package/out/zero-cache/src/custom/fetch.d.ts.map +1 -1
- package/out/zero-cache/src/custom/fetch.js +8 -7
- package/out/zero-cache/src/custom/fetch.js.map +1 -1
- package/out/zero-cache/src/custom-queries/transform-query.d.ts +3 -3
- package/out/zero-cache/src/custom-queries/transform-query.d.ts.map +1 -1
- package/out/zero-cache/src/custom-queries/transform-query.js +6 -7
- package/out/zero-cache/src/custom-queries/transform-query.js.map +1 -1
- package/out/zero-cache/src/scripts/decommission.d.ts +50 -0
- package/out/zero-cache/src/scripts/decommission.d.ts.map +1 -0
- package/out/zero-cache/src/scripts/decommission.js +51 -0
- package/out/zero-cache/src/scripts/decommission.js.map +1 -0
- package/out/zero-cache/src/scripts/permissions.d.ts +1 -1
- package/out/zero-cache/src/scripts/permissions.d.ts.map +1 -1
- package/out/zero-cache/src/scripts/permissions.js +2 -2
- package/out/zero-cache/src/scripts/permissions.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 +7 -10
- package/out/zero-cache/src/server/change-streamer.js.map +1 -1
- package/out/zero-cache/src/server/inspector-delegate.d.ts.map +1 -1
- package/out/zero-cache/src/server/inspector-delegate.js +2 -1
- package/out/zero-cache/src/server/inspector-delegate.js.map +1 -1
- package/out/zero-cache/src/services/analyze.d.ts +2 -6
- package/out/zero-cache/src/services/analyze.d.ts.map +1 -1
- package/out/zero-cache/src/services/analyze.js +4 -3
- package/out/zero-cache/src/services/analyze.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.d.ts +2 -3
- package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.js +15 -15
- package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/replica-monitor.d.ts +16 -0
- package/out/zero-cache/src/services/change-streamer/replica-monitor.d.ts.map +1 -0
- package/out/zero-cache/src/services/change-streamer/replica-monitor.js +52 -0
- package/out/zero-cache/src/services/change-streamer/replica-monitor.js.map +1 -0
- package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/storer.js +15 -1
- package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/subscriber.d.ts +2 -2
- package/out/zero-cache/src/services/change-streamer/subscriber.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/subscriber.js +16 -11
- package/out/zero-cache/src/services/change-streamer/subscriber.js.map +1 -1
- package/out/zero-cache/src/services/mutagen/pusher.d.ts +19 -21
- package/out/zero-cache/src/services/mutagen/pusher.d.ts.map +1 -1
- package/out/zero-cache/src/services/mutagen/pusher.js +11 -12
- package/out/zero-cache/src/services/mutagen/pusher.js.map +1 -1
- package/out/zero-cache/src/services/run-ast.d.ts.map +1 -1
- package/out/zero-cache/src/services/run-ast.js +1 -0
- package/out/zero-cache/src/services/run-ast.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr-store.js +41 -14
- package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr.js +5 -4
- package/out/zero-cache/src/services/view-syncer/cvr.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/drain-coordinator.d.ts +1 -0
- package/out/zero-cache/src/services/view-syncer/drain-coordinator.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/drain-coordinator.js +5 -0
- package/out/zero-cache/src/services/view-syncer/drain-coordinator.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/inspect-handler.d.ts +1 -1
- package/out/zero-cache/src/services/view-syncer/inspect-handler.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/inspect-handler.js +81 -2
- package/out/zero-cache/src/services/view-syncer/inspect-handler.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +24 -2
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/schema/cvr.js +4 -2
- package/out/zero-cache/src/services/view-syncer/schema/cvr.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/schema/init.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/schema/init.js +25 -0
- package/out/zero-cache/src/services/view-syncer/schema/init.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +7 -0
- 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 +54 -6
- package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
- package/out/zero-cache/src/types/error-with-level.d.ts.map +1 -1
- package/out/zero-cache/src/types/error-with-level.js +8 -3
- package/out/zero-cache/src/types/error-with-level.js.map +1 -1
- package/out/zero-cache/src/types/streams.d.ts +1 -1
- package/out/zero-cache/src/types/streams.d.ts.map +1 -1
- package/out/zero-cache/src/types/streams.js +19 -9
- package/out/zero-cache/src/types/streams.js.map +1 -1
- package/out/zero-cache/src/types/subscription.d.ts +16 -1
- package/out/zero-cache/src/types/subscription.d.ts.map +1 -1
- package/out/zero-cache/src/types/subscription.js +41 -5
- package/out/zero-cache/src/types/subscription.js.map +1 -1
- package/out/zero-cache/src/workers/syncer.d.ts.map +1 -1
- package/out/zero-cache/src/workers/syncer.js +1 -3
- package/out/zero-cache/src/workers/syncer.js.map +1 -1
- package/out/zero-client/src/client/bindings.d.ts +42 -0
- package/out/zero-client/src/client/bindings.d.ts.map +1 -0
- package/out/zero-client/src/client/client-error-kind-enum.d.ts +12 -12
- package/out/zero-client/src/client/client-error-kind-enum.d.ts.map +1 -1
- package/out/zero-client/src/client/connection-manager.d.ts +28 -13
- package/out/zero-client/src/client/connection-manager.d.ts.map +1 -1
- package/out/zero-client/src/client/connection-status-enum.d.ts +2 -0
- package/out/zero-client/src/client/connection-status-enum.d.ts.map +1 -1
- package/out/zero-client/src/client/connection.d.ts +11 -3
- package/out/zero-client/src/client/connection.d.ts.map +1 -1
- package/out/zero-client/src/client/context.d.ts +12 -10
- package/out/zero-client/src/client/context.d.ts.map +1 -1
- package/out/zero-client/src/client/crud.d.ts +1 -1
- package/out/zero-client/src/client/crud.d.ts.map +1 -1
- package/out/zero-client/src/client/custom.d.ts +39 -16
- package/out/zero-client/src/client/custom.d.ts.map +1 -1
- package/out/zero-client/src/client/error.d.ts +50 -166
- package/out/zero-client/src/client/error.d.ts.map +1 -1
- package/out/zero-client/src/client/inspector/html-dialog-prompt.d.ts.map +1 -1
- package/out/zero-client/src/client/inspector/inspector.d.ts +3 -2
- package/out/zero-client/src/client/inspector/inspector.d.ts.map +1 -1
- package/out/zero-client/src/client/inspector/lazy-inspector.d.ts +4 -1
- package/out/zero-client/src/client/inspector/lazy-inspector.d.ts.map +1 -1
- package/out/zero-client/src/client/mutation-tracker.d.ts +10 -2
- package/out/zero-client/src/client/mutation-tracker.d.ts.map +1 -1
- package/out/zero-client/src/client/mutator-proxy.d.ts +16 -0
- package/out/zero-client/src/client/mutator-proxy.d.ts.map +1 -0
- package/out/zero-client/src/client/options.d.ts +45 -22
- package/out/zero-client/src/client/options.d.ts.map +1 -1
- package/out/zero-client/src/client/query-manager.d.ts +9 -2
- package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
- package/out/zero-client/src/client/zero-log-context.d.ts +3 -3
- package/out/zero-client/src/client/zero-log-context.d.ts.map +1 -1
- package/out/zero-client/src/client/zero-poke-handler.d.ts +3 -3
- package/out/zero-client/src/client/zero-poke-handler.d.ts.map +1 -1
- package/out/zero-client/src/client/zero-rep.d.ts +7 -4
- package/out/zero-client/src/client/zero-rep.d.ts.map +1 -1
- package/out/zero-client/src/client/zero.d.ts +88 -18
- package/out/zero-client/src/client/zero.d.ts.map +1 -1
- package/out/zero-client/src/mod.d.ts +17 -9
- package/out/zero-client/src/mod.d.ts.map +1 -1
- package/out/zero-client/src/types/query-result.d.ts +24 -0
- package/out/zero-client/src/types/query-result.d.ts.map +1 -0
- package/out/zero-protocol/src/analyze-query-result.d.ts +1 -0
- package/out/zero-protocol/src/analyze-query-result.d.ts.map +1 -1
- package/out/zero-protocol/src/analyze-query-result.js +1 -0
- package/out/zero-protocol/src/analyze-query-result.js.map +1 -1
- package/out/zero-protocol/src/application-error.d.ts +27 -0
- package/out/zero-protocol/src/application-error.d.ts.map +1 -0
- package/out/zero-protocol/src/application-error.js +40 -0
- package/out/zero-protocol/src/application-error.js.map +1 -0
- package/out/zero-protocol/src/custom-queries.d.ts +27 -95
- package/out/zero-protocol/src/custom-queries.d.ts.map +1 -1
- package/out/zero-protocol/src/custom-queries.js +9 -24
- package/out/zero-protocol/src/custom-queries.js.map +1 -1
- package/out/zero-protocol/src/down.d.ts +8 -9
- package/out/zero-protocol/src/down.d.ts.map +1 -1
- package/out/zero-protocol/src/error.d.ts +42 -0
- package/out/zero-protocol/src/error.d.ts.map +1 -1
- package/out/zero-protocol/src/error.js +7 -0
- package/out/zero-protocol/src/error.js.map +1 -1
- package/out/zero-protocol/src/inspect-down.d.ts +3 -0
- package/out/zero-protocol/src/inspect-down.d.ts.map +1 -1
- package/out/zero-protocol/src/mutations-patch.d.ts +3 -0
- package/out/zero-protocol/src/mutations-patch.d.ts.map +1 -1
- package/out/zero-protocol/src/poke.d.ts +2 -0
- package/out/zero-protocol/src/poke.d.ts.map +1 -1
- package/out/zero-protocol/src/protocol-version.d.ts +1 -1
- package/out/zero-protocol/src/protocol-version.d.ts.map +1 -1
- package/out/zero-protocol/src/protocol-version.js +3 -1
- package/out/zero-protocol/src/protocol-version.js.map +1 -1
- package/out/zero-protocol/src/push.d.ts +7 -0
- package/out/zero-protocol/src/push.d.ts.map +1 -1
- package/out/zero-protocol/src/push.js +1 -0
- package/out/zero-protocol/src/push.js.map +1 -1
- package/out/zero-react/src/components/inspector.d.ts +1 -1
- package/out/zero-react/src/components/inspector.d.ts.map +1 -1
- package/out/zero-react/src/components/zero-inspector.d.ts +1 -1
- package/out/zero-react/src/components/zero-inspector.d.ts.map +1 -1
- package/out/zero-react/src/mod.d.ts +6 -2
- package/out/zero-react/src/mod.d.ts.map +1 -1
- package/out/zero-react/src/use-query.d.ts +7 -26
- package/out/zero-react/src/use-query.d.ts.map +1 -1
- package/out/zero-react/src/zero-provider.d.ts +7 -7
- package/out/zero-react/src/zero-provider.d.ts.map +1 -1
- package/out/zero-schema/src/builder/schema-builder.d.ts +1 -3
- package/out/zero-schema/src/builder/schema-builder.d.ts.map +1 -1
- package/out/zero-schema/src/permissions.d.ts +1 -1
- package/out/zero-schema/src/permissions.d.ts.map +1 -1
- package/out/zero-schema/src/schema-config.d.ts +1 -1
- package/out/zero-schema/src/schema-config.d.ts.map +1 -1
- package/out/zero-server/src/adapters/drizzle.d.ts +2 -2
- package/out/zero-server/src/adapters/drizzle.d.ts.map +1 -1
- package/out/zero-server/src/adapters/drizzle.js +4 -0
- package/out/zero-server/src/adapters/drizzle.js.map +1 -1
- package/out/zero-server/src/adapters/pg.d.ts +8 -3
- package/out/zero-server/src/adapters/pg.d.ts.map +1 -1
- package/out/zero-server/src/adapters/pg.js +4 -0
- package/out/zero-server/src/adapters/pg.js.map +1 -1
- package/out/zero-server/src/adapters/postgresjs.d.ts +8 -3
- package/out/zero-server/src/adapters/postgresjs.d.ts.map +1 -1
- package/out/zero-server/src/adapters/postgresjs.js +4 -0
- package/out/zero-server/src/adapters/postgresjs.js.map +1 -1
- package/out/zero-server/src/custom.d.ts +11 -8
- package/out/zero-server/src/custom.d.ts.map +1 -1
- package/out/zero-server/src/custom.js +15 -3
- package/out/zero-server/src/custom.js.map +1 -1
- package/out/zero-server/src/mod.d.ts +4 -4
- package/out/zero-server/src/mod.d.ts.map +1 -1
- package/out/zero-server/src/mod.js +4 -4
- package/out/zero-server/src/mod.js.map +1 -1
- package/out/zero-server/src/pg-query-executor.d.ts +11 -0
- package/out/zero-server/src/pg-query-executor.d.ts.map +1 -0
- package/out/zero-server/src/pg-query-executor.js +17 -0
- package/out/zero-server/src/pg-query-executor.js.map +1 -0
- package/out/zero-server/src/process-mutations.d.ts +2 -1
- package/out/zero-server/src/process-mutations.d.ts.map +1 -1
- package/out/zero-server/src/process-mutations.js +181 -68
- package/out/zero-server/src/process-mutations.js.map +1 -1
- package/out/zero-server/src/queries/process-queries.d.ts +6 -5
- package/out/zero-server/src/queries/process-queries.d.ts.map +1 -1
- package/out/zero-server/src/queries/process-queries.js +87 -19
- package/out/zero-server/src/queries/process-queries.js.map +1 -1
- package/out/zero-server/src/schema.d.ts +2 -2
- package/out/zero-server/src/schema.d.ts.map +1 -1
- package/out/zero-server/src/schema.js.map +1 -1
- package/out/zero-server/src/zql-database.d.ts +6 -3
- package/out/zero-server/src/zql-database.d.ts.map +1 -1
- package/out/zero-server/src/zql-database.js +17 -19
- package/out/zero-server/src/zql-database.js.map +1 -1
- package/out/zero-solid/src/mod.d.ts +8 -0
- package/out/zero-solid/src/mod.d.ts.map +1 -1
- package/out/zero-solid/src/solid-view.d.ts +3 -23
- package/out/zero-solid/src/solid-view.d.ts.map +1 -1
- package/out/zero-solid/src/use-query.d.ts +4 -4
- package/out/zero-solid/src/use-query.d.ts.map +1 -1
- package/out/zero-solid/src/use-zero.d.ts +8 -7
- package/out/zero-solid/src/use-zero.d.ts.map +1 -1
- package/out/zero-types/src/server-schema.d.ts.map +1 -0
- package/out/zero-types/src/server-schema.js.map +1 -0
- package/out/zero.js +31 -14
- package/out/zql/src/builder/builder.d.ts +6 -0
- package/out/zql/src/builder/builder.d.ts.map +1 -1
- package/out/zql/src/builder/builder.js +1 -1
- package/out/zql/src/builder/builder.js.map +1 -1
- package/out/zql/src/builder/debug-delegate.d.ts +4 -0
- package/out/zql/src/builder/debug-delegate.d.ts.map +1 -1
- package/out/zql/src/builder/debug-delegate.js +17 -0
- package/out/zql/src/builder/debug-delegate.js.map +1 -1
- package/out/zql/src/ivm/view.d.ts +3 -2
- package/out/zql/src/ivm/view.d.ts.map +1 -1
- package/out/zql/src/mutate/custom.d.ts +13 -8
- package/out/zql/src/mutate/custom.d.ts.map +1 -1
- package/out/zql/src/mutate/custom.js.map +1 -1
- package/out/zql/src/planner/planner-builder.d.ts +2 -1
- package/out/zql/src/planner/planner-builder.d.ts.map +1 -1
- package/out/zql/src/planner/planner-builder.js +33 -8
- package/out/zql/src/planner/planner-builder.js.map +1 -1
- package/out/zql/src/planner/planner-connection.d.ts +9 -3
- package/out/zql/src/planner/planner-connection.d.ts.map +1 -1
- package/out/zql/src/planner/planner-connection.js +38 -82
- package/out/zql/src/planner/planner-connection.js.map +1 -1
- package/out/zql/src/planner/planner-debug.d.ts +37 -7
- package/out/zql/src/planner/planner-debug.d.ts.map +1 -1
- package/out/zql/src/planner/planner-debug.js +131 -80
- package/out/zql/src/planner/planner-debug.js.map +1 -1
- package/out/zql/src/planner/planner-fan-in.d.ts +5 -3
- package/out/zql/src/planner/planner-fan-in.d.ts.map +1 -1
- package/out/zql/src/planner/planner-fan-in.js +41 -23
- package/out/zql/src/planner/planner-fan-in.js.map +1 -1
- package/out/zql/src/planner/planner-fan-out.d.ts +5 -3
- package/out/zql/src/planner/planner-fan-out.d.ts.map +1 -1
- package/out/zql/src/planner/planner-fan-out.js +22 -5
- package/out/zql/src/planner/planner-fan-out.js.map +1 -1
- package/out/zql/src/planner/planner-graph.d.ts +2 -2
- package/out/zql/src/planner/planner-graph.d.ts.map +1 -1
- package/out/zql/src/planner/planner-graph.js +18 -49
- package/out/zql/src/planner/planner-graph.js.map +1 -1
- package/out/zql/src/planner/planner-join.d.ts +61 -6
- package/out/zql/src/planner/planner-join.d.ts.map +1 -1
- package/out/zql/src/planner/planner-join.js +156 -69
- package/out/zql/src/planner/planner-join.js.map +1 -1
- package/out/zql/src/planner/planner-node.d.ts +29 -2
- package/out/zql/src/planner/planner-node.d.ts.map +1 -1
- package/out/zql/src/planner/planner-source.d.ts +1 -1
- package/out/zql/src/planner/planner-source.d.ts.map +1 -1
- package/out/zql/src/planner/planner-source.js +2 -2
- package/out/zql/src/planner/planner-source.js.map +1 -1
- package/out/zql/src/planner/planner-terminus.d.ts +4 -3
- package/out/zql/src/planner/planner-terminus.d.ts.map +1 -1
- package/out/zql/src/planner/planner-terminus.js +4 -4
- package/out/zql/src/planner/planner-terminus.js.map +1 -1
- package/out/zql/src/query/chained-query.d.ts +35 -0
- package/out/zql/src/query/chained-query.d.ts.map +1 -0
- package/out/zql/src/query/chained-query.js +66 -0
- package/out/zql/src/query/chained-query.js.map +1 -0
- package/out/zql/src/query/define-query.d.ts +51 -0
- package/out/zql/src/query/define-query.d.ts.map +1 -0
- package/out/zql/src/query/define-query.js +53 -0
- package/out/zql/src/query/define-query.js.map +1 -0
- package/out/zql/src/query/error.d.ts +4 -0
- package/out/zql/src/query/error.d.ts.map +1 -0
- package/out/zql/src/query/error.js +9 -0
- package/out/zql/src/query/error.js.map +1 -0
- package/out/zql/src/query/named.d.ts +18 -7
- package/out/zql/src/query/named.d.ts.map +1 -1
- package/out/zql/src/query/named.js +39 -13
- package/out/zql/src/query/named.js.map +1 -1
- package/out/zql/src/query/query-delegate-base.d.ts +122 -0
- package/out/zql/src/query/query-delegate-base.d.ts.map +1 -0
- package/out/zql/src/query/query-delegate-base.js +136 -0
- package/out/zql/src/query/query-delegate-base.js.map +1 -0
- package/out/zql/src/query/query-delegate.d.ts +29 -4
- package/out/zql/src/query/query-delegate.d.ts.map +1 -1
- package/out/zql/src/query/query-impl.d.ts +27 -48
- package/out/zql/src/query/query-impl.d.ts.map +1 -1
- package/out/zql/src/query/query-impl.js +155 -175
- package/out/zql/src/query/query-impl.js.map +1 -1
- package/out/zql/src/query/query-internals.d.ts +70 -0
- package/out/zql/src/query/query-internals.d.ts.map +1 -0
- package/out/zql/src/query/query-internals.js +21 -0
- package/out/zql/src/query/query-internals.js.map +1 -0
- package/out/zql/src/query/query.d.ts +26 -243
- package/out/zql/src/query/query.d.ts.map +1 -1
- package/out/zql/src/query/query.js +0 -1
- package/out/zql/src/query/query.js.map +1 -1
- package/out/zql/src/query/root-named-query.d.ts +33 -0
- package/out/zql/src/query/root-named-query.d.ts.map +1 -0
- package/out/zql/src/query/root-named-query.js +95 -0
- package/out/zql/src/query/root-named-query.js.map +1 -0
- package/out/zql/src/query/static-query.d.ts +5 -14
- package/out/zql/src/query/static-query.d.ts.map +1 -1
- package/out/zql/src/query/static-query.js +7 -17
- package/out/zql/src/query/static-query.js.map +1 -1
- package/out/zqlite/src/db.d.ts +2 -1
- package/out/zqlite/src/db.d.ts.map +1 -1
- package/out/zqlite/src/db.js +2 -0
- package/out/zqlite/src/db.js.map +1 -1
- package/out/zqlite/src/query-delegate.d.ts +6 -20
- package/out/zqlite/src/query-delegate.d.ts.map +1 -1
- package/out/zqlite/src/query-delegate.js +5 -29
- package/out/zqlite/src/query-delegate.js.map +1 -1
- package/out/zqlite/src/table-source.d.ts.map +1 -1
- package/out/zqlite/src/table-source.js +16 -0
- package/out/zqlite/src/table-source.js.map +1 -1
- package/package.json +5 -3
- package/out/chunk-55BOUNXO.js +0 -356
- package/out/chunk-55BOUNXO.js.map +0 -7
- package/out/chunk-AIPM77UE.js.map +0 -7
- package/out/chunk-ASRS2LFV.js +0 -35
- package/out/chunk-ASRS2LFV.js.map +0 -7
- package/out/chunk-ECUMGQGC.js.map +0 -7
- package/out/chunk-EZM3XBAB.js.map +0 -7
- package/out/chunk-TJFNGO7E.js.map +0 -7
- package/out/inspector-IU2HG74I.js.map +0 -7
- package/out/lazy-inspector-OXIFYSSQ.js.map +0 -7
- package/out/zero-client/src/client/on-error.d.ts +0 -15
- package/out/zero-client/src/client/on-error.d.ts.map +0 -1
- package/out/zero-schema/src/builder/relationship-builder.js +0 -24
- package/out/zero-schema/src/builder/relationship-builder.js.map +0 -1
- package/out/zero-schema/src/builder/schema-builder.js +0 -78
- package/out/zero-schema/src/builder/schema-builder.js.map +0 -1
- package/out/zero-schema/src/builder/table-builder.js +0 -128
- package/out/zero-schema/src/builder/table-builder.js.map +0 -1
- package/out/zero-schema/src/server-schema.d.ts.map +0 -1
- package/out/zero-schema/src/server-schema.js.map +0 -1
- package/out/zero-server/src/query.d.ts +0 -22
- package/out/zero-server/src/query.d.ts.map +0 -1
- package/out/zero-server/src/query.js +0 -61
- package/out/zero-server/src/query.js.map +0 -1
- /package/out/{chunk-ZZXMKAAG.js.map → chunk-5H7WNLPK.js.map} +0 -0
- /package/out/{zero-schema → zero-types}/src/server-schema.d.ts +0 -0
- /package/out/{zero-schema → zero-types}/src/server-schema.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planner-fan-in.d.ts","sourceRoot":"","sources":["../../../../../zql/src/planner/planner-fan-in.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACZ,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"planner-fan-in.d.ts","sourceRoot":"","sources":["../../../../../zql/src/planner/planner-fan-in.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAE3D;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,YAAY;;IACvB,QAAQ,CAAC,IAAI,EAAG,QAAQ,CAAU;gBAKtB,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,eAAe,CAAC,EAAE;IAK3D,IAAI,IAAI,iBAEP;IAED,mBAAmB,IAAI,gBAAgB;IAIvC,SAAS,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAIlC,IAAI,MAAM,IAAI,WAAW,CAGxB;IAED,KAAK;IAIL,YAAY,IAAI,IAAI;IAIpB;;;OAGG;IACH,+BAA+B,IAAI,IAAI;IAavC,YAAY,CACV,0BAA0B,EAAE,MAAM,EAClC,aAAa,EAAE,MAAM,EAAE,EACvB,YAAY,CAAC,EAAE,YAAY,GAC1B,YAAY;IAuGf,oBAAoB,CAClB,aAAa,EAAE,MAAM,EAAE,EACvB,UAAU,EAAE,iBAAiB,GAAG,SAAS,EACzC,IAAI,CAAC,EAAE,WAAW,EAClB,YAAY,CAAC,EAAE,YAAY,GAC1B,IAAI;CAyCR"}
|
|
@@ -55,37 +55,39 @@ export class PlannerFanIn {
|
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
|
-
estimateCost(branchPattern) {
|
|
58
|
+
estimateCost(downstreamChildSelectivity, branchPattern, planDebugger) {
|
|
59
59
|
// FanIn always sums costs of its inputs
|
|
60
60
|
// But it needs to pass the correct branch pattern to each input
|
|
61
61
|
let totalCost = {
|
|
62
|
-
|
|
63
|
-
|
|
62
|
+
returnedRows: 0,
|
|
63
|
+
cost: 0,
|
|
64
|
+
scanEst: 0,
|
|
64
65
|
startupCost: 0,
|
|
65
66
|
selectivity: 0,
|
|
66
67
|
limit: undefined,
|
|
67
68
|
};
|
|
68
|
-
branchPattern = branchPattern ?? [];
|
|
69
69
|
if (this.#type === 'FI') {
|
|
70
70
|
// Normal FanIn: all inputs get the same branch pattern with 0 prepended
|
|
71
71
|
const updatedPattern = [0, ...branchPattern];
|
|
72
72
|
let maxrows = 0;
|
|
73
73
|
let maxRunningCost = 0;
|
|
74
74
|
let maxStartupCost = 0;
|
|
75
|
-
|
|
75
|
+
let maxScanEst = 0;
|
|
76
76
|
let noMatchProb = 1.0;
|
|
77
77
|
for (const input of this.#inputs) {
|
|
78
|
-
const cost = input.estimateCost(updatedPattern);
|
|
79
|
-
if (cost.
|
|
80
|
-
maxrows = cost.
|
|
78
|
+
const cost = input.estimateCost(downstreamChildSelectivity, updatedPattern, planDebugger);
|
|
79
|
+
if (cost.returnedRows > maxrows) {
|
|
80
|
+
maxrows = cost.returnedRows;
|
|
81
81
|
}
|
|
82
|
-
if (cost.
|
|
83
|
-
maxRunningCost = cost.
|
|
82
|
+
if (cost.cost > maxRunningCost) {
|
|
83
|
+
maxRunningCost = cost.cost;
|
|
84
84
|
}
|
|
85
|
-
// FI fetches from the root only once, so take the max startup cost
|
|
86
85
|
if (cost.startupCost > maxStartupCost) {
|
|
87
86
|
maxStartupCost = cost.startupCost;
|
|
88
87
|
}
|
|
88
|
+
if (cost.scanEst > maxScanEst) {
|
|
89
|
+
maxScanEst = cost.scanEst;
|
|
90
|
+
}
|
|
89
91
|
// OR branches: combine selectivities assuming independent events
|
|
90
92
|
// P(A OR B) = 1 - (1-A)(1-B)
|
|
91
93
|
// Track probability of NO match in any branch
|
|
@@ -94,23 +96,23 @@ export class PlannerFanIn {
|
|
|
94
96
|
assert(totalCost.limit === undefined || cost.limit === totalCost.limit, 'All FanIn inputs should have the same limit');
|
|
95
97
|
totalCost.limit = cost.limit;
|
|
96
98
|
}
|
|
97
|
-
totalCost.
|
|
98
|
-
totalCost.
|
|
99
|
-
totalCost.startupCost = maxStartupCost;
|
|
99
|
+
totalCost.returnedRows = maxrows;
|
|
100
|
+
totalCost.cost = maxRunningCost;
|
|
100
101
|
totalCost.selectivity = 1 - noMatchProb;
|
|
102
|
+
totalCost.startupCost = maxStartupCost;
|
|
103
|
+
totalCost.scanEst = maxScanEst;
|
|
101
104
|
}
|
|
102
105
|
else {
|
|
103
106
|
// Union FanIn (UFI): each input gets unique branch pattern
|
|
104
107
|
let i = 0;
|
|
105
|
-
// Track complement probability for OR selectivity: P(A OR B) = 1 - (1-A)(1-B)
|
|
106
108
|
let noMatchProb = 1.0;
|
|
107
109
|
for (const input of this.#inputs) {
|
|
108
110
|
const updatedPattern = [i, ...branchPattern];
|
|
109
|
-
const cost = input.estimateCost(updatedPattern);
|
|
110
|
-
totalCost.
|
|
111
|
-
totalCost.
|
|
112
|
-
|
|
113
|
-
totalCost.startupCost
|
|
111
|
+
const cost = input.estimateCost(downstreamChildSelectivity, updatedPattern, planDebugger);
|
|
112
|
+
totalCost.returnedRows += cost.returnedRows;
|
|
113
|
+
totalCost.cost += cost.cost;
|
|
114
|
+
totalCost.scanEst += cost.scanEst;
|
|
115
|
+
totalCost.startupCost = totalCost.startupCost + cost.startupCost;
|
|
114
116
|
// OR branches: combine selectivities assuming independent events
|
|
115
117
|
// P(A OR B) = 1 - (1-A)(1-B)
|
|
116
118
|
// Track probability of NO match in any branch
|
|
@@ -122,9 +124,25 @@ export class PlannerFanIn {
|
|
|
122
124
|
}
|
|
123
125
|
totalCost.selectivity = 1 - noMatchProb;
|
|
124
126
|
}
|
|
127
|
+
planDebugger?.log({
|
|
128
|
+
type: 'node-cost',
|
|
129
|
+
nodeType: 'fan-in',
|
|
130
|
+
node: this.#type,
|
|
131
|
+
branchPattern,
|
|
132
|
+
downstreamChildSelectivity,
|
|
133
|
+
costEstimate: totalCost,
|
|
134
|
+
});
|
|
125
135
|
return totalCost;
|
|
126
136
|
}
|
|
127
|
-
propagateConstraints(branchPattern, constraint, from) {
|
|
137
|
+
propagateConstraints(branchPattern, constraint, from, planDebugger) {
|
|
138
|
+
planDebugger?.log({
|
|
139
|
+
type: 'node-constraint',
|
|
140
|
+
nodeType: 'fan-in',
|
|
141
|
+
node: this.#type,
|
|
142
|
+
branchPattern,
|
|
143
|
+
constraint,
|
|
144
|
+
from: from?.kind ?? 'unknown',
|
|
145
|
+
});
|
|
128
146
|
if (this.#type === 'FI') {
|
|
129
147
|
const updatedPattern = [0, ...branchPattern];
|
|
130
148
|
/**
|
|
@@ -135,13 +153,13 @@ export class PlannerFanIn {
|
|
|
135
153
|
* to send to their children.
|
|
136
154
|
*/
|
|
137
155
|
for (const input of this.#inputs) {
|
|
138
|
-
input.propagateConstraints(updatedPattern, constraint,
|
|
156
|
+
input.propagateConstraints(updatedPattern, constraint, this, planDebugger);
|
|
139
157
|
}
|
|
140
158
|
return;
|
|
141
159
|
}
|
|
142
160
|
let i = 0;
|
|
143
161
|
for (const input of this.#inputs) {
|
|
144
|
-
input.propagateConstraints([i, ...branchPattern], constraint,
|
|
162
|
+
input.propagateConstraints([i, ...branchPattern], constraint, this, planDebugger);
|
|
145
163
|
i++;
|
|
146
164
|
}
|
|
147
165
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planner-fan-in.js","sourceRoot":"","sources":["../../../../../zql/src/planner/planner-fan-in.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"planner-fan-in.js","sourceRoot":"","sources":["../../../../../zql/src/planner/planner-fan-in.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import type { PlannerConstraint } from './planner-constraint.ts';
|
|
2
|
+
import type { PlanDebugger } from './planner-debug.ts';
|
|
2
3
|
import type { CostEstimate, JoinOrConnection, PlannerNode } from './planner-node.ts';
|
|
4
|
+
import type { PlannerTerminus } from './planner-terminus.ts';
|
|
3
5
|
export declare class PlannerFanOut {
|
|
4
6
|
#private;
|
|
5
7
|
readonly kind: "fan-out";
|
|
6
|
-
constructor(input: PlannerNode);
|
|
8
|
+
constructor(input: Exclude<PlannerNode, PlannerTerminus>);
|
|
7
9
|
get type(): "FO" | "UFO";
|
|
8
10
|
addOutput(node: PlannerNode): void;
|
|
9
11
|
get outputs(): PlannerNode[];
|
|
10
12
|
closestJoinOrSource(): JoinOrConnection;
|
|
11
|
-
propagateConstraints(branchPattern: number[], constraint: PlannerConstraint | undefined,
|
|
12
|
-
estimateCost(branchPattern
|
|
13
|
+
propagateConstraints(branchPattern: number[], constraint: PlannerConstraint | undefined, from?: PlannerNode, planDebugger?: PlanDebugger): void;
|
|
14
|
+
estimateCost(downstreamChildSelectivity: number, branchPattern: number[], planDebugger?: PlanDebugger): CostEstimate;
|
|
13
15
|
convertToUFO(): void;
|
|
14
16
|
reset(): void;
|
|
15
17
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planner-fan-out.d.ts","sourceRoot":"","sources":["../../../../../zql/src/planner/planner-fan-out.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACZ,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"planner-fan-out.d.ts","sourceRoot":"","sources":["../../../../../zql/src/planner/planner-fan-out.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAE3D,qBAAa,aAAa;;IACxB,QAAQ,CAAC,IAAI,EAAG,SAAS,CAAU;gBAKvB,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,eAAe,CAAC;IAKxD,IAAI,IAAI,iBAEP;IAED,SAAS,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAIlC,IAAI,OAAO,IAAI,WAAW,EAAE,CAE3B;IAED,mBAAmB,IAAI,gBAAgB;IAIvC,oBAAoB,CAClB,aAAa,EAAE,MAAM,EAAE,EACvB,UAAU,EAAE,iBAAiB,GAAG,SAAS,EACzC,IAAI,CAAC,EAAE,WAAW,EAClB,YAAY,CAAC,EAAE,YAAY,GAC1B,IAAI;IAkBP,YAAY,CACV,0BAA0B,EAAE,MAAM,EAClC,aAAa,EAAE,MAAM,EAAE,EACvB,YAAY,CAAC,EAAE,YAAY,GAC1B,YAAY;IAmBf,YAAY,IAAI,IAAI;IAIpB,KAAK,IAAI,IAAI;IAIb;;;OAGG;IACH,+BAA+B,IAAI,IAAI;CAUxC"}
|
|
@@ -19,11 +19,28 @@ export class PlannerFanOut {
|
|
|
19
19
|
closestJoinOrSource() {
|
|
20
20
|
return this.#input.closestJoinOrSource();
|
|
21
21
|
}
|
|
22
|
-
propagateConstraints(branchPattern, constraint,
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
propagateConstraints(branchPattern, constraint, from, planDebugger) {
|
|
23
|
+
planDebugger?.log({
|
|
24
|
+
type: 'node-constraint',
|
|
25
|
+
nodeType: 'fan-out',
|
|
26
|
+
node: 'FO',
|
|
27
|
+
branchPattern,
|
|
28
|
+
constraint,
|
|
29
|
+
from: from?.kind ?? 'unknown',
|
|
30
|
+
});
|
|
31
|
+
this.#input.propagateConstraints(branchPattern, constraint, this, planDebugger);
|
|
32
|
+
}
|
|
33
|
+
estimateCost(downstreamChildSelectivity, branchPattern, planDebugger) {
|
|
34
|
+
const ret = this.#input.estimateCost(downstreamChildSelectivity, branchPattern, planDebugger);
|
|
35
|
+
planDebugger?.log({
|
|
36
|
+
type: 'node-cost',
|
|
37
|
+
nodeType: 'fan-out',
|
|
38
|
+
node: 'FO',
|
|
39
|
+
branchPattern,
|
|
40
|
+
downstreamChildSelectivity,
|
|
41
|
+
costEstimate: ret,
|
|
42
|
+
});
|
|
43
|
+
return ret;
|
|
27
44
|
}
|
|
28
45
|
convertToUFO() {
|
|
29
46
|
this.#type = 'UFO';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planner-fan-out.js","sourceRoot":"","sources":["../../../../../zql/src/planner/planner-fan-out.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"planner-fan-out.js","sourceRoot":"","sources":["../../../../../zql/src/planner/planner-fan-out.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,aAAa;IACf,IAAI,GAAG,SAAkB,CAAC;IACnC,KAAK,CAAe;IACX,QAAQ,GAAkB,EAAE,CAAC;IAC7B,MAAM,CAAwC;IAEvD,YAAY,KAA4C;QACtD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,SAAS,CAAC,IAAiB;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;IAC3C,CAAC;IAED,oBAAoB,CAClB,aAAuB,EACvB,UAAyC,EACzC,IAAkB,EAClB,YAA2B;QAE3B,YAAY,EAAE,GAAG,CAAC;YAChB,IAAI,EAAE,iBAAiB;YACvB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,IAAI;YACV,aAAa;YACb,UAAU;YACV,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,SAAS;SAC9B,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAC9B,aAAa,EACb,UAAU,EACV,IAAI,EACJ,YAAY,CACb,CAAC;IACJ,CAAC;IAED,YAAY,CACV,0BAAkC,EAClC,aAAuB,EACvB,YAA2B;QAE3B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAClC,0BAA0B,EAC1B,aAAa,EACb,YAAY,CACb,CAAC;QAEF,YAAY,EAAE,GAAG,CAAC;YAChB,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,IAAI;YACV,aAAa;YACb,0BAA0B;YAC1B,YAAY,EAAE,GAAG;SAClB,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;IACb,CAAC;IAED,YAAY;QACV,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED;;;OAGG;IACH,+BAA+B;QAC7B,IACE,iCAAiC,IAAI,IAAI,CAAC,MAAM;YAChD,OAAO,IAAI,CAAC,MAAM,CAAC,+BAA+B,KAAK,UAAU,EACjE,CAAC;YAEC,IAAI,CAAC,MACN,CAAC,+BAA+B,EAAE,CAAC;QACtC,CAAC;IACH,CAAC;CACF"}
|
|
@@ -59,12 +59,12 @@ export declare class PlannerGraph {
|
|
|
59
59
|
* This sends constraints up through the graph to update
|
|
60
60
|
* connection cost estimates.
|
|
61
61
|
*/
|
|
62
|
-
propagateConstraints(): void;
|
|
62
|
+
propagateConstraints(planDebugger?: PlanDebugger): void;
|
|
63
63
|
/**
|
|
64
64
|
* Calculate total cost of the current plan.
|
|
65
65
|
* Total cost includes both startup cost (one-time, e.g., sorting) and running cost.
|
|
66
66
|
*/
|
|
67
|
-
getTotalCost(): number;
|
|
67
|
+
getTotalCost(planDebugger?: PlanDebugger): number;
|
|
68
68
|
/**
|
|
69
69
|
* Capture a lightweight snapshot of the current planning state.
|
|
70
70
|
* Used for backtracking during multi-start greedy search.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planner-graph.d.ts","sourceRoot":"","sources":["../../../../../zql/src/planner/planner-graph.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAC,aAAa,EAAE,KAAK,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AAC5E,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAErD;;GAEG;AACH,KAAK,SAAS,GAAG;IACf,WAAW,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;KAAC,CAAC,CAAC;IAChD,KAAK,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;KAAC,CAAC,CAAC;IACzC,OAAO,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,IAAI,GAAG,KAAK,CAAA;KAAC,CAAC,CAAC;IACrC,MAAM,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,IAAI,GAAG,KAAK,CAAA;KAAC,CAAC,CAAC;IACpC,qBAAqB,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,GAAG,SAAS,CAAC,CAAC,CAAC;CAC1E,CAAC;AAkBF,qBAAa,YAAY;;IAQvB,KAAK,EAAE,WAAW,EAAE,CAAM;IAC1B,OAAO,EAAE,aAAa,EAAE,CAAM;IAC9B,MAAM,EAAE,YAAY,EAAE,CAAM;IAC5B,WAAW,EAAE,iBAAiB,EAAE,CAAM;IAEtC;;;;;OAKG;IACH,kBAAkB;IAOlB;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,aAAa;IAUlE;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAMtC;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIhC;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAI5C;;;;OAIG;IACH,oBAAoB,
|
|
1
|
+
{"version":3,"file":"planner-graph.d.ts","sourceRoot":"","sources":["../../../../../zql/src/planner/planner-graph.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAC,aAAa,EAAE,KAAK,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AAC5E,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAErD;;GAEG;AACH,KAAK,SAAS,GAAG;IACf,WAAW,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;KAAC,CAAC,CAAC;IAChD,KAAK,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;KAAC,CAAC,CAAC;IACzC,OAAO,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,IAAI,GAAG,KAAK,CAAA;KAAC,CAAC,CAAC;IACrC,MAAM,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,IAAI,GAAG,KAAK,CAAA;KAAC,CAAC,CAAC;IACpC,qBAAqB,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,GAAG,SAAS,CAAC,CAAC,CAAC;CAC1E,CAAC;AAkBF,qBAAa,YAAY;;IAQvB,KAAK,EAAE,WAAW,EAAE,CAAM;IAC1B,OAAO,EAAE,aAAa,EAAE,CAAM;IAC9B,MAAM,EAAE,YAAY,EAAE,CAAM;IAC5B,WAAW,EAAE,iBAAiB,EAAE,CAAM;IAEtC;;;;;OAKG;IACH,kBAAkB;IAOlB;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,aAAa;IAUlE;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAMtC;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIhC;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAI5C;;;;OAIG;IACH,oBAAoB,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI;IAQvD;;;OAGG;IACH,YAAY,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,MAAM;IAKjD;;;;;;;;OAQG;IACH,uBAAuB,IAAI,SAAS;IAYpC;;;;;;;;OAQG;IACH,uBAAuB,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAkF/C;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI;CAsIxC"}
|
|
@@ -6,7 +6,7 @@ import { must } from "../../../shared/src/must.js";
|
|
|
6
6
|
* With n flippable joins, we explore 2^n plans.
|
|
7
7
|
* 10 joins = 1024 plans (~100-200ms), 12 joins = 4096 plans (~400ms - 1 second)
|
|
8
8
|
*/
|
|
9
|
-
const MAX_FLIPPABLE_JOINS =
|
|
9
|
+
const MAX_FLIPPABLE_JOINS = 9;
|
|
10
10
|
export class PlannerGraph {
|
|
11
11
|
// Sources indexed by table name
|
|
12
12
|
#sources = new Map();
|
|
@@ -68,17 +68,17 @@ export class PlannerGraph {
|
|
|
68
68
|
* This sends constraints up through the graph to update
|
|
69
69
|
* connection cost estimates.
|
|
70
70
|
*/
|
|
71
|
-
propagateConstraints() {
|
|
71
|
+
propagateConstraints(planDebugger) {
|
|
72
72
|
assert(this.#terminus !== undefined, 'Cannot propagate constraints without a terminus node');
|
|
73
|
-
this.#terminus.propagateConstraints();
|
|
73
|
+
this.#terminus.propagateConstraints(planDebugger);
|
|
74
74
|
}
|
|
75
75
|
/**
|
|
76
76
|
* Calculate total cost of the current plan.
|
|
77
77
|
* Total cost includes both startup cost (one-time, e.g., sorting) and running cost.
|
|
78
78
|
*/
|
|
79
|
-
getTotalCost() {
|
|
80
|
-
const estimate = must(this.#terminus).estimateCost();
|
|
81
|
-
return estimate.
|
|
79
|
+
getTotalCost(planDebugger) {
|
|
80
|
+
const estimate = must(this.#terminus).estimateCost(planDebugger);
|
|
81
|
+
return estimate.cost + estimate.startupCost;
|
|
82
82
|
}
|
|
83
83
|
/**
|
|
84
84
|
* Capture a lightweight snapshot of the current planning state.
|
|
@@ -115,45 +115,6 @@ export class PlannerGraph {
|
|
|
115
115
|
this.#restoreJoins(state);
|
|
116
116
|
this.#restoreFanNodes(state);
|
|
117
117
|
}
|
|
118
|
-
/**
|
|
119
|
-
* Collect cost estimates from all nodes in the graph for debugging.
|
|
120
|
-
*/
|
|
121
|
-
#collectNodeCosts() {
|
|
122
|
-
const costs = [];
|
|
123
|
-
// Collect connection costs
|
|
124
|
-
for (const c of this.connections) {
|
|
125
|
-
costs.push({
|
|
126
|
-
node: c.name,
|
|
127
|
-
nodeType: 'connection',
|
|
128
|
-
costEstimate: c.estimateCost(undefined),
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
// Collect join costs
|
|
132
|
-
for (const j of this.joins) {
|
|
133
|
-
costs.push({
|
|
134
|
-
node: j.getName(),
|
|
135
|
-
nodeType: 'join',
|
|
136
|
-
costEstimate: j.estimateCost(undefined),
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
|
-
// Collect fan-out costs
|
|
140
|
-
for (const fo of this.fanOuts) {
|
|
141
|
-
costs.push({
|
|
142
|
-
node: 'FO',
|
|
143
|
-
nodeType: 'fan-out',
|
|
144
|
-
costEstimate: fo.estimateCost(undefined),
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
// Collect fan-in costs
|
|
148
|
-
for (const fi of this.fanIns) {
|
|
149
|
-
costs.push({
|
|
150
|
-
node: 'FI',
|
|
151
|
-
nodeType: 'fan-in',
|
|
152
|
-
costEstimate: fi.estimateCost(undefined),
|
|
153
|
-
});
|
|
154
|
-
}
|
|
155
|
-
return costs;
|
|
156
|
-
}
|
|
157
118
|
/**
|
|
158
119
|
* Validate that snapshot shape matches current graph structure.
|
|
159
120
|
*/
|
|
@@ -235,7 +196,12 @@ export class PlannerGraph {
|
|
|
235
196
|
let bestPlan = undefined;
|
|
236
197
|
let bestAttemptNumber = -1;
|
|
237
198
|
// Enumerate all flip patterns
|
|
199
|
+
// try 7 and 32 (6 and 31)
|
|
200
|
+
const forcePattern = undefined; // 11 14
|
|
238
201
|
for (let pattern = 0; pattern < numPatterns; pattern++) {
|
|
202
|
+
if (forcePattern !== undefined && pattern !== forcePattern) {
|
|
203
|
+
continue;
|
|
204
|
+
}
|
|
239
205
|
// Reset to initial state
|
|
240
206
|
this.resetPlanningState();
|
|
241
207
|
if (planDebugger) {
|
|
@@ -258,7 +224,7 @@ export class PlannerGraph {
|
|
|
258
224
|
// Propagate unlimiting for flipped joins
|
|
259
225
|
propagateUnlimitForFlippedJoins(this);
|
|
260
226
|
// Propagate constraints through the graph
|
|
261
|
-
this.propagateConstraints();
|
|
227
|
+
this.propagateConstraints(planDebugger);
|
|
262
228
|
if (planDebugger) {
|
|
263
229
|
planDebugger.log({
|
|
264
230
|
type: 'constraints-propagated',
|
|
@@ -271,13 +237,15 @@ export class PlannerGraph {
|
|
|
271
237
|
});
|
|
272
238
|
}
|
|
273
239
|
// Evaluate this plan
|
|
274
|
-
const totalCost = this.getTotalCost();
|
|
240
|
+
const totalCost = this.getTotalCost(planDebugger);
|
|
275
241
|
if (planDebugger) {
|
|
276
242
|
planDebugger.log({
|
|
277
243
|
type: 'plan-complete',
|
|
278
244
|
attemptNumber: pattern,
|
|
279
245
|
totalCost,
|
|
280
|
-
|
|
246
|
+
flipPattern: pattern, // Bitmask of which joins are flipped
|
|
247
|
+
// TODO: we'll need a different way to collect these
|
|
248
|
+
// nodeCosts: this.#collectNodeCosts(),
|
|
281
249
|
joinStates: this.joins.map(j => {
|
|
282
250
|
const info = j.getDebugInfo();
|
|
283
251
|
return {
|
|
@@ -310,12 +278,13 @@ export class PlannerGraph {
|
|
|
310
278
|
if (bestPlan) {
|
|
311
279
|
this.restorePlanningSnapshot(bestPlan);
|
|
312
280
|
// Propagate constraints to ensure all derived state is consistent
|
|
313
|
-
this.propagateConstraints();
|
|
281
|
+
this.propagateConstraints(planDebugger);
|
|
314
282
|
if (planDebugger) {
|
|
315
283
|
planDebugger.log({
|
|
316
284
|
type: 'best-plan-selected',
|
|
317
285
|
bestAttemptNumber,
|
|
318
286
|
totalCost: bestCost,
|
|
287
|
+
flipPattern: bestAttemptNumber, // The best attempt number is also the flip pattern
|
|
319
288
|
joinStates: this.joins.map(j => ({
|
|
320
289
|
join: j.getName(),
|
|
321
290
|
type: j.type,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planner-graph.js","sourceRoot":"","sources":["../../../../../zql/src/planner/planner-graph.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"planner-graph.js","sourceRoot":"","sources":["../../../../../zql/src/planner/planner-graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
import { type PlannerConstraint } from './planner-constraint.ts';
|
|
2
|
+
import type { PlanDebugger } from './planner-debug.ts';
|
|
2
3
|
import type { CostEstimate, JoinOrConnection, PlannerNode } from './planner-node.ts';
|
|
4
|
+
import type { PlannerTerminus } from './planner-terminus.ts';
|
|
5
|
+
/**
|
|
6
|
+
* Semi-join overhead multiplier.
|
|
7
|
+
*
|
|
8
|
+
* Semi-joins represent correlated subqueries (EXISTS checks) which have
|
|
9
|
+
* execution overhead compared to flipped joins, even when logical row counts
|
|
10
|
+
* are identical. This overhead comes from:
|
|
11
|
+
* - Need to execute a separate correlation check for each parent row
|
|
12
|
+
* - Cannot leverage combined constraint checking as effectively as flipped joins
|
|
13
|
+
*
|
|
14
|
+
* A multiplier of 1.5 means semi-joins are estimated to be ~50% more expensive
|
|
15
|
+
* than equivalent flipped joins, which empirically matches observed performance
|
|
16
|
+
* differences in production workloads (e.g., 1.7x in zbugs benchmarks).
|
|
17
|
+
*
|
|
18
|
+
* Flipped joins have a different overhead in that they become unlimited. This
|
|
19
|
+
* is accounted for when propagating unlimits rather than here.
|
|
20
|
+
*/
|
|
3
21
|
/**
|
|
4
22
|
* Represents a join between two data streams (parent and child).
|
|
5
23
|
*
|
|
@@ -32,7 +50,7 @@ export declare class PlannerJoin {
|
|
|
32
50
|
#private;
|
|
33
51
|
readonly kind: "join";
|
|
34
52
|
readonly planId: number;
|
|
35
|
-
constructor(parent: PlannerNode, child: PlannerNode, parentConstraint: PlannerConstraint, childConstraint: PlannerConstraint, flippable: boolean, planId: number);
|
|
53
|
+
constructor(parent: Exclude<PlannerNode, PlannerTerminus>, child: Exclude<PlannerNode, PlannerTerminus>, parentConstraint: PlannerConstraint, childConstraint: PlannerConstraint, flippable: boolean, planId: number, initialType?: 'semi' | 'flipped');
|
|
36
54
|
setOutput(node: PlannerNode): void;
|
|
37
55
|
get output(): PlannerNode;
|
|
38
56
|
closestJoinOrSource(): JoinOrConnection;
|
|
@@ -41,9 +59,13 @@ export declare class PlannerJoin {
|
|
|
41
59
|
get type(): 'semi' | 'flipped';
|
|
42
60
|
isFlippable(): boolean;
|
|
43
61
|
/**
|
|
44
|
-
* Propagate unlimiting
|
|
45
|
-
* When a join is flipped
|
|
46
|
-
*
|
|
62
|
+
* Propagate unlimiting when this join is flipped.
|
|
63
|
+
* When a join is flipped:
|
|
64
|
+
* 1. Child becomes outer loop → produces all rows (unlimited)
|
|
65
|
+
* 2. Parent is fetched once per child row → effectively unlimited
|
|
66
|
+
*
|
|
67
|
+
* Example: If child produces 896 rows, parent is fetched 896 times.
|
|
68
|
+
* Even if each fetch returns 1 row, parent produces 896 total rows.
|
|
47
69
|
*
|
|
48
70
|
* Propagation rules:
|
|
49
71
|
* - Connection: call unlimit()
|
|
@@ -58,9 +80,42 @@ export declare class PlannerJoin {
|
|
|
58
80
|
* - Flipped join: stop propagation (already unlimited when it was flipped)
|
|
59
81
|
*/
|
|
60
82
|
propagateUnlimitFromFlippedJoin(): void;
|
|
61
|
-
propagateConstraints(branchPattern: number[], constraint: PlannerConstraint | undefined): void;
|
|
83
|
+
propagateConstraints(branchPattern: number[], constraint: PlannerConstraint | undefined, from?: PlannerNode, planDebugger?: PlanDebugger): void;
|
|
62
84
|
reset(): void;
|
|
63
|
-
estimateCost(
|
|
85
|
+
estimateCost(
|
|
86
|
+
/**
|
|
87
|
+
* This argument is to deal with consecutive `andExists` statements.
|
|
88
|
+
* Each one will constrain how often a parent row passes all constraints.
|
|
89
|
+
* This means that we have to scan more and more parent rows the more
|
|
90
|
+
* constraints we add.
|
|
91
|
+
*/
|
|
92
|
+
downstreamChildSelectivity: number,
|
|
93
|
+
/**
|
|
94
|
+
* branchPattern uniquely identifies OR branches in the graph.
|
|
95
|
+
* Each path through an OR will have unique constraints to apply to the source
|
|
96
|
+
* connection.
|
|
97
|
+
* branchPattern allows us to correlate a path through the graph
|
|
98
|
+
* to the constraints that should be applied for that path.
|
|
99
|
+
*
|
|
100
|
+
* Example graph:
|
|
101
|
+
* UFO
|
|
102
|
+
* / \
|
|
103
|
+
* J1 J2
|
|
104
|
+
* \ /
|
|
105
|
+
* UFI
|
|
106
|
+
*
|
|
107
|
+
* J1 and J2 are joins inside an OR (FO).
|
|
108
|
+
* branchPattern [0] = path through J1
|
|
109
|
+
* branchPattern [1] = path through J2
|
|
110
|
+
*
|
|
111
|
+
* If many ORs are nested, branchPattern will have multiple elements
|
|
112
|
+
* representing each level of OR.
|
|
113
|
+
*
|
|
114
|
+
* If no joins are flipped within the `OR`, then only a single
|
|
115
|
+
* branchPattern element will be needed, as FO represents all sub-joins
|
|
116
|
+
* as a single path.
|
|
117
|
+
*/
|
|
118
|
+
branchPattern: number[], planDebugger?: PlanDebugger): CostEstimate;
|
|
64
119
|
/**
|
|
65
120
|
* Get a human-readable name for this join for debugging.
|
|
66
121
|
* Format: "parentName ⋈ childName"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planner-join.d.ts","sourceRoot":"","sources":["../../../../../zql/src/planner/planner-join.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACZ,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"planner-join.d.ts","sourceRoot":"","sources":["../../../../../zql/src/planner/planner-join.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAoC3D;;;;;;;;;;;;;;;GAeG;AAGH;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,WAAW;;IACtB,QAAQ,CAAC,IAAI,EAAG,MAAM,CAAU;IAOhC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAQtB,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,eAAe,CAAC,EAC7C,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,eAAe,CAAC,EAC5C,gBAAgB,EAAE,iBAAiB,EACnC,eAAe,EAAE,iBAAiB,EAClC,SAAS,EAAE,OAAO,EAClB,MAAM,EAAE,MAAM,EACd,WAAW,GAAE,MAAM,GAAG,SAAkB;IAY1C,SAAS,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAIlC,IAAI,MAAM,IAAI,WAAW,CAGxB;IAED,mBAAmB,IAAI,gBAAgB;IAIvC,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAWtC,IAAI,IAAI,IAAI;IAUZ,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAE7B;IACD,WAAW,IAAI,OAAO;IAItB;;;;;;;;;;;;;;OAcG;IACH,gBAAgB,IAAI,IAAI;IAMxB;;;;OAIG;IACH,+BAA+B,IAAI,IAAI;IAOvC,oBAAoB,CAClB,aAAa,EAAE,MAAM,EAAE,EACvB,UAAU,EAAE,iBAAiB,GAAG,SAAS,EACzC,IAAI,CAAC,EAAE,WAAW,EAClB,YAAY,CAAC,EAAE,YAAY,GAC1B,IAAI;IAuDP,KAAK,IAAI,IAAI;IAIb,YAAY;IACV;;;;;OAKG;IACH,0BAA0B,EAAE,MAAM;IAClC;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,aAAa,EAAE,MAAM,EAAE,EACvB,YAAY,CAAC,EAAE,YAAY,GAC1B,YAAY;IAkFf;;;OAGG;IACH,OAAO,IAAI,MAAM;IAMjB;;OAEG;IACH,YAAY,IAAI;QACd,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;QACzB,MAAM,EAAE,MAAM,CAAC;KAChB;CAOF;AAED,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM;CAI5B"}
|