@prisma/orm-family-sql 8.0.0-rc.2-dev.2 → 8.0.0-rc.20
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/README.md +2 -6
- package/dist/{aggregate-descriptor-registry-C7hel5O7.mjs → aggregate-descriptor-registry-ZrKjxwQe.mjs} +5 -5
- package/dist/aggregate-descriptor-registry-ZrKjxwQe.mjs.map +1 -0
- package/dist/ast-D0miQ1B6.mjs +372 -0
- package/dist/ast-D0miQ1B6.mjs.map +1 -0
- package/dist/ast-YEMe_B8z.d.mts +292 -0
- package/dist/ast-YEMe_B8z.d.mts.map +1 -0
- package/dist/attribute-specs-DA_RwQFB.d.mts +114 -0
- package/dist/attribute-specs-DA_RwQFB.d.mts.map +1 -0
- package/dist/{authored-check-naming-Hf9990DV.mjs → authored-check-naming-BHGJhjqn.mjs} +5 -5
- package/dist/authored-check-naming-BHGJhjqn.mjs.map +1 -0
- package/dist/{authored-check-naming-BWBe-PVE.d.mts → authored-check-naming-D-o196ry.d.mts} +3 -3
- package/dist/authored-check-naming-D-o196ry.d.mts.map +1 -0
- package/dist/authoring-entity-types-CgKIgWq5-pEdfjam5.d.mts +9 -0
- package/dist/authoring-entity-types-CgKIgWq5-pEdfjam5.d.mts.map +1 -0
- package/dist/builder.d.mts +4 -3
- package/dist/builder__runtime.d.mts +29 -31
- package/dist/builder__runtime.d.mts.map +1 -1
- package/dist/builder__runtime.mjs +261 -191
- package/dist/builder__runtime.mjs.map +1 -1
- package/dist/builder__types.d.mts +6 -3
- package/dist/{canonicalization-hooks-dmXkOR4a.mjs → canonicalization-hooks-Ce1v_TDl.mjs} +2 -2
- package/dist/canonicalization-hooks-Ce1v_TDl.mjs.map +1 -0
- package/dist/{canonicalization-hooks-CYnW_sGn.d.mts → canonicalization-hooks-DyapQ0my.d.mts} +2 -2
- package/dist/canonicalization-hooks-DyapQ0my.d.mts.map +1 -0
- package/dist/{check-constraint-B7qGu6rc-HvQjjX82.d.mts → check-constraint-B7qGu6rc-Bk2ezWXu.d.mts} +4 -4
- package/dist/check-constraint-B7qGu6rc-Bk2ezWXu.d.mts.map +1 -0
- package/dist/{codec-descriptor-registry-N0dhtKaH.mjs → codec-descriptor-registry-CiiFzMtb.mjs} +13 -40
- package/dist/codec-descriptor-registry-CiiFzMtb.mjs.map +1 -0
- package/dist/collection-methods-BB8YH69u.d.mts +1 -0
- package/dist/collection-methods-D2UnCS0S-DOy2qHYS.d.mts +77 -0
- package/dist/collection-methods-D2UnCS0S-DOy2qHYS.d.mts.map +1 -0
- package/dist/{config-types-D9fdKG3g.d.mts → config-types-C-1mIiJO.d.mts} +5 -5
- package/dist/config-types-C-1mIiJO.d.mts.map +1 -0
- package/dist/{config-types-gAm54C_v.mjs → config-types-DkEeq_qq.mjs} +10 -6
- package/dist/config-types-DkEeq_qq.mjs.map +1 -0
- package/dist/{contract-builder-D4a5dT7j.mjs → contract-builder-50lF0kz1.mjs} +431 -226
- package/dist/contract-builder-50lF0kz1.mjs.map +1 -0
- package/dist/contract-builder-C_Zi57iD.d.mts +1967 -0
- package/dist/contract-builder-C_Zi57iD.d.mts.map +1 -0
- package/dist/contract-emitter.d.mts +4 -7
- package/dist/contract-emitter.d.mts.map +1 -1
- package/dist/contract-emitter.mjs +1 -1
- package/dist/{contract-errors-BCN6RVI5-5IHBF_lg.mjs → contract-errors-BCN6RVI5-DoH6b_KZ.mjs} +2 -2
- package/dist/contract-errors-BCN6RVI5-DoH6b_KZ.mjs.map +1 -0
- package/dist/contract-prisma7__provider.d.mts +97 -0
- package/dist/contract-prisma7__provider.d.mts.map +1 -0
- package/dist/contract-prisma7__provider.mjs +2011 -0
- package/dist/contract-prisma7__provider.mjs.map +1 -0
- package/dist/contract-psl.d.mts +18 -29
- package/dist/contract-psl.d.mts.map +1 -1
- package/dist/contract-psl.mjs +1 -1
- package/dist/contract-psl__attribute-specs.d.mts +2 -0
- package/dist/contract-psl__attribute-specs.mjs +2 -0
- package/dist/contract-psl__default-table-name.d.mts +7 -0
- package/dist/contract-psl__default-table-name.d.mts.map +1 -0
- package/dist/contract-psl__default-table-name.mjs +2 -0
- package/dist/contract-psl__diagnostics.d.mts +12 -0
- package/dist/contract-psl__diagnostics.d.mts.map +1 -0
- package/dist/contract-psl__diagnostics.mjs +2 -0
- package/dist/contract-psl__map-names.d.mts +16 -0
- package/dist/contract-psl__map-names.d.mts.map +1 -0
- package/dist/contract-psl__map-names.mjs +21 -0
- package/dist/contract-psl__map-names.mjs.map +1 -0
- package/dist/contract-psl__provider.d.mts +3 -3
- package/dist/contract-psl__provider.d.mts.map +1 -1
- package/dist/contract-psl__provider.mjs +95 -46
- package/dist/contract-psl__provider.mjs.map +1 -1
- package/dist/contract-ts.d.mts +5 -5
- package/dist/contract-ts.mjs +5 -4
- package/dist/contract-ts__config-types.d.mts +1 -1
- package/dist/contract-ts__config-types.mjs +1 -1
- package/dist/contract-ts__contract-builder.d.mts +4 -4
- package/dist/contract-ts__contract-builder.mjs +4 -3
- package/dist/{contract-view-BMR5IWk4.mjs → contract-view-DqpzeYeE.mjs} +2 -2
- package/dist/contract-view-DqpzeYeE.mjs.map +1 -0
- package/dist/{contract-view-CPHxoAEX.d.mts → contract-view-DuB35or0.d.mts} +3 -3
- package/dist/contract-view-DuB35or0.d.mts.map +1 -0
- package/dist/contract.d.mts +30 -28
- package/dist/contract.mjs +23 -18
- package/dist/contract__authored-check-naming.d.mts +1 -1
- package/dist/contract__authored-check-naming.mjs +1 -1
- package/dist/contract__canonicalization-hooks.d.mts +1 -1
- package/dist/contract__canonicalization-hooks.mjs +1 -1
- package/dist/contract__contract-view.d.mts +1 -1
- package/dist/contract__contract-view.mjs +1 -1
- package/dist/contract__data-type-support.d.mts +2 -0
- package/dist/contract__data-type-support.mjs +2 -0
- package/dist/contract__data-type.d.mts +2 -0
- package/dist/contract__data-type.mjs +3 -0
- package/dist/contract__entity-handle-lowering-hook.d.mts +2 -2
- package/dist/contract__entity-handle-lowering-hook.mjs +2 -2
- package/dist/contract__entity-kinds.d.mts +1 -1
- package/dist/contract__entity-kinds.mjs +1 -1
- package/dist/contract__factories.d.mts +1 -1
- package/dist/contract__factories.mjs +1 -1
- package/dist/contract__foreign-key-materialization.d.mts +2 -2
- package/dist/contract__foreign-key-materialization.mjs +3 -2
- package/dist/contract__index-naming.d.mts +2 -2
- package/dist/contract__index-naming.mjs +2 -2
- package/dist/contract__index-type-validation.d.mts +2 -2
- package/dist/contract__index-type-validation.mjs +1 -1
- package/dist/contract__index-types.d.mts +3 -3
- package/dist/contract__index-types.mjs +2 -2
- package/dist/contract__referential-action-sql.d.mts +1 -1
- package/dist/contract__referential-action-sql.mjs +1 -1
- package/dist/contract__resolve-storage-table.d.mts +1 -1
- package/dist/contract__resolve-storage-table.mjs +1 -1
- package/dist/contract__sql-expression.d.mts +2 -0
- package/dist/contract__sql-expression.mjs +2 -0
- package/dist/contract__types.d.mts +12 -12
- package/dist/contract__types.mjs +4 -4
- package/dist/contract__validators.d.mts +2 -2
- package/dist/contract__validators.mjs +3 -3
- package/dist/contract__value-set-derivation-hook.d.mts +1 -1
- package/dist/contract__value-set-derivation-hook.mjs +1 -1
- package/dist/control-BK50zF6c.mjs +2721 -0
- package/dist/control-BK50zF6c.mjs.map +1 -0
- package/dist/control-ChAUdOOu.d.mts +1416 -0
- package/dist/control-ChAUdOOu.d.mts.map +1 -0
- package/dist/{control-adapter-C99J7aEF-B7eQd7vD.d.mts → control-adapter-Bn0uhplA-BzP2uPqJ.d.mts} +27 -44
- package/dist/control-adapter-Bn0uhplA-BzP2uPqJ.d.mts.map +1 -0
- package/dist/control-adapter-NZ2kKc4x.d.mts +13 -0
- package/dist/control-adapter-NZ2kKc4x.d.mts.map +1 -0
- package/dist/control-adapter-SlQkTEwT.mjs +16 -0
- package/dist/control-adapter-SlQkTEwT.mjs.map +1 -0
- package/dist/data-type-BFSpaotu.mjs +52 -0
- package/dist/data-type-BFSpaotu.mjs.map +1 -0
- package/dist/data-type-DJIvKQHf.d.mts +158 -0
- package/dist/data-type-DJIvKQHf.d.mts.map +1 -0
- package/dist/data-type-support-BhSoPUFj.mjs +9 -0
- package/dist/data-type-support-BhSoPUFj.mjs.map +1 -0
- package/dist/data-type-support-CXpA0ex-.d.mts +7 -0
- package/dist/data-type-support-CXpA0ex-.d.mts.map +1 -0
- package/dist/{db-D18PrXKW-DvTv4JFn.d.mts → db-D1d75IvM-D4mRDC6w.d.mts} +123 -128
- package/dist/db-D1d75IvM-D4mRDC6w.d.mts.map +1 -0
- package/dist/{ddl-types-CXx4vPz6-BsgrnSUY.d.mts → ddl-types-By5mT2_S-CdaaFvsX.d.mts} +24 -29
- package/dist/ddl-types-By5mT2_S-CdaaFvsX.d.mts.map +1 -0
- package/dist/default-mapping-CAOONlKQ-4m07nb-O.d.mts +39 -0
- package/dist/default-mapping-CAOONlKQ-4m07nb-O.d.mts.map +1 -0
- package/dist/default-table-name-BfFY8qYR-CWZFDX6v.mjs +9 -0
- package/dist/default-table-name-BfFY8qYR-CWZFDX6v.mjs.map +1 -0
- package/dist/derived-checks-D5HVRvqN-BJx1gwPA.mjs +1508 -0
- package/dist/derived-checks-D5HVRvqN-BJx1gwPA.mjs.map +1 -0
- package/dist/{derived-checks-DPdD01O0-DGqOFjs6.d.mts → derived-checks-DpPkO6Dt-9U9UJZOo.d.mts} +4 -4
- package/dist/derived-checks-DpPkO6Dt-9U9UJZOo.d.mts.map +1 -0
- package/dist/diagnostics-RHJxoiIk.mjs +23 -0
- package/dist/diagnostics-RHJxoiIk.mjs.map +1 -0
- package/dist/{diff-DbTNVm2f.d.mts → diff-1qHOLoUB.d.mts} +23 -10
- package/dist/diff-1qHOLoUB.d.mts.map +1 -0
- package/dist/diff-C1rFOhek.mjs +21 -0
- package/dist/diff-C1rFOhek.mjs.map +1 -0
- package/dist/{dist-ZK6oeI5e.mjs → dist-C8Y-PPuE.mjs} +36 -212
- package/dist/dist-C8Y-PPuE.mjs.map +1 -0
- package/dist/{dist-C_q1_QR9.mjs → dist-CHz1hF8M.mjs} +2 -2
- package/dist/dist-CHz1hF8M.mjs.map +1 -0
- package/dist/{dist-x6jvtkKM.mjs → dist-CMDXybwm.mjs} +2 -2
- package/dist/dist-CMDXybwm.mjs.map +1 -0
- package/dist/{driver-types-BQtRkOJ0-Bv2RPSfr.d.mts → driver-types-DRsYeq3j-BimeCnUk.d.mts} +11 -2
- package/dist/driver-types-DRsYeq3j-BimeCnUk.d.mts.map +1 -0
- package/dist/entity-handle-lowering-hook-BJZSlVVF.mjs +16 -0
- package/dist/entity-handle-lowering-hook-BJZSlVVF.mjs.map +1 -0
- package/dist/{entity-handle-lowering-hook-CIvRKBfa.d.mts → entity-handle-lowering-hook-BuvLtgFi.d.mts} +8 -11
- package/dist/entity-handle-lowering-hook-BuvLtgFi.d.mts.map +1 -0
- package/dist/{entity-kinds-B5cUFU22.d.mts → entity-kinds-BPG2xCZV.d.mts} +7 -7
- package/dist/entity-kinds-BPG2xCZV.d.mts.map +1 -0
- package/dist/{entity-kinds-D7vwoN_T-CCBwFJy0.mjs → entity-kinds-JR5SAm5h-DOH6VUtL.mjs} +31 -28
- package/dist/entity-kinds-JR5SAm5h-DOH6VUtL.mjs.map +1 -0
- package/dist/{errors-B5g0xWro-mWH2C07F.mjs → errors-B5g0xWro-C8plbqga.mjs} +2 -2
- package/dist/errors-B5g0xWro-C8plbqga.mjs.map +1 -0
- package/dist/errors.d.mts +1 -1
- package/dist/errors.d.mts.map +1 -1
- package/dist/errors.mjs +1 -1
- package/dist/exports-C3wGYtID-D65DEUTC.mjs +2389 -0
- package/dist/exports-C3wGYtID-D65DEUTC.mjs.map +1 -0
- package/dist/{expression-FJK6Ar-d.d.mts → expression-6ld_ZQL6-fOuazzzm.d.mts} +37 -16
- package/dist/expression-6ld_ZQL6-fOuazzzm.d.mts.map +1 -0
- package/dist/expression-CieaNuRM-B1uVqxwd.d.mts +22 -0
- package/dist/expression-CieaNuRM-B1uVqxwd.d.mts.map +1 -0
- package/dist/expression-D8HstQiB.d.mts +2 -0
- package/dist/{expression-CX5mTA-z.mjs → expression-impl-B-XNINxr-BhN2sysZ.mjs} +41 -18
- package/dist/expression-impl-B-XNINxr-BhN2sysZ.mjs.map +1 -0
- package/dist/{factories-SVor5xIT.mjs → factories-Crobuxwn.mjs} +27 -20
- package/dist/factories-Crobuxwn.mjs.map +1 -0
- package/dist/{factories-P3qBQhO-.d.mts → factories-DbNP9qfs.d.mts} +16 -10
- package/dist/factories-DbNP9qfs.d.mts.map +1 -0
- package/dist/family.d.mts +17 -13
- package/dist/family.mjs +17 -12
- package/dist/family__control-adapter.d.mts +3 -3
- package/dist/family__control-adapter.mjs +2 -1
- package/dist/family__control.d.mts +5 -4
- package/dist/family__control.mjs +4 -4
- package/dist/family__diff.d.mts +2 -3
- package/dist/family__diff.mjs +2 -2
- package/dist/family__ir.d.mts +1 -1
- package/dist/family__ir.mjs +2 -2
- package/dist/family__migration.d.mts +1 -1
- package/dist/family__migration.mjs +1 -1
- package/dist/family__pack.d.mts +2 -249
- package/dist/family__pack.mjs +3 -18
- package/dist/family__psl-build.d.mts +3 -0
- package/dist/family__psl-build.mjs +3 -0
- package/dist/family__psl-infer.d.mts +2 -2
- package/dist/family__psl-infer.mjs +2 -2
- package/dist/family__runtime.d.mts +2 -2
- package/dist/family__runtime.mjs +2 -2
- package/dist/family__verify.d.mts +1 -1
- package/dist/family__verify.mjs +1 -1
- package/dist/foreign-key-materialization-48P2V8on.d.mts +98 -0
- package/dist/foreign-key-materialization-48P2V8on.d.mts.map +1 -0
- package/dist/foreign-key-materialization-BM59w_Xg.mjs +287 -0
- package/dist/foreign-key-materialization-BM59w_Xg.mjs.map +1 -0
- package/dist/{foreign-key-C-iTPuRT-C9ip8zFx.d.mts → foreign-key-qkDFfG8t-TaK_GYWR.d.mts} +21 -5
- package/dist/foreign-key-qkDFfG8t-TaK_GYWR.d.mts.map +1 -0
- package/dist/functions-CsOoN7I3.mjs +88 -0
- package/dist/functions-CsOoN7I3.mjs.map +1 -0
- package/dist/functions-EW-RrRn3.d.mts +73 -0
- package/dist/functions-EW-RrRn3.d.mts.map +1 -0
- package/dist/generator-functions-D_qdqBV--Bq296cED.mjs +544 -0
- package/dist/generator-functions-D_qdqBV--Bq296cED.mjs.map +1 -0
- package/dist/index-7nHHQsAj.d.mts +606 -0
- package/dist/index-7nHHQsAj.d.mts.map +1 -0
- package/dist/{index-C5I8D-MB.d.mts → index-Nqc3OHR_.d.mts} +4 -5
- package/dist/index-Nqc3OHR_.d.mts.map +1 -0
- package/dist/index-equivalence-DswCiq5l-CGsyPP9B.mjs +109 -0
- package/dist/index-equivalence-DswCiq5l-CGsyPP9B.mjs.map +1 -0
- package/dist/{index-naming-DREt6js7-CRH27yUv.mjs → index-naming-BOcJT1B3-mG8Fd6KN.mjs} +35 -9
- package/dist/index-naming-BOcJT1B3-mG8Fd6KN.mjs.map +1 -0
- package/dist/{index-naming-Ct65z5Xk.d.mts → index-naming-Cs6wwia3.d.mts} +15 -5
- package/dist/index-naming-Cs6wwia3.d.mts.map +1 -0
- package/dist/index-reference-4wsdeB7v-DCwswK-q.d.mts +67 -0
- package/dist/index-reference-4wsdeB7v-DCwswK-q.d.mts.map +1 -0
- package/dist/index-reference-BQSrkRfT.mjs +55 -0
- package/dist/index-reference-BQSrkRfT.mjs.map +1 -0
- package/dist/index-reference-D8ewQRJr.d.mts +1 -0
- package/dist/index-type-validation-DJEMmmw0.mjs +42 -0
- package/dist/index-type-validation-DJEMmmw0.mjs.map +1 -0
- package/dist/index-type-validation-fGGwAHWc.d.mts +16 -0
- package/dist/index-type-validation-fGGwAHWc.d.mts.map +1 -0
- package/dist/index-types-H1O43iYT-BD0VwPqV.d.mts +66 -0
- package/dist/index-types-H1O43iYT-BD0VwPqV.d.mts.map +1 -0
- package/dist/index-types-pC_5vADQ-BOOBi14R.mjs +95 -0
- package/dist/index-types-pC_5vADQ-BOOBi14R.mjs.map +1 -0
- package/dist/index-types-snhtt_Fo.d.mts +1 -0
- package/dist/interpreter-D5qk4B---CG0C7kdx.mjs +2280 -0
- package/dist/interpreter-D5qk4B---CG0C7kdx.mjs.map +1 -0
- package/dist/{ir-Bghjt-FG.d.mts → ir-BvptQsFW.d.mts} +11 -5
- package/dist/ir-BvptQsFW.d.mts.map +1 -0
- package/dist/{ir-I-xciGUH.mjs → ir-DzsUDO8e.mjs} +2 -2
- package/dist/ir-DzsUDO8e.mjs.map +1 -0
- package/dist/{middleware-AhTz1BOW-th-Suxuf.d.mts → middleware-DHkW6pRr-DM6hd9iZ.d.mts} +5 -5
- package/dist/middleware-DHkW6pRr-DM6hd9iZ.d.mts.map +1 -0
- package/dist/middleware-gqy3l13N.d.mts +1 -0
- package/dist/{middleware-CMr4CHNz-DHIUdxlm.mjs → middleware-yBAfiVWn-DZO0vCRQ.mjs} +3 -3
- package/dist/middleware-yBAfiVWn-DZO0vCRQ.mjs.map +1 -0
- package/dist/{migration-CK4oePIo.mjs → migration-BJQjkqFz.mjs} +4 -4
- package/dist/migration-BJQjkqFz.mjs.map +1 -0
- package/dist/{migration-CjDRZNep.d.mts → migration-Cxmpzaz0.d.mts} +6 -6
- package/dist/migration-Cxmpzaz0.d.mts.map +1 -0
- package/dist/{naming-CV9j2pXl-KARaDReS.d.mts → naming-BcD36g9T-Mfe_xGGL.d.mts} +9 -14
- package/dist/naming-BcD36g9T-Mfe_xGGL.d.mts.map +1 -0
- package/dist/{naming-DKr4TJd7-Cszhq9RV.mjs → naming-bM5qm5PY-jOg3JFMb.mjs} +20 -31
- package/dist/naming-bM5qm5PY-jOg3JFMb.mjs.map +1 -0
- package/dist/{ddl-types-BGdnAbXo-DKPHPUGx.mjs → opaque-sql-Dset3kln-CtsPDTXn.mjs} +24 -11
- package/dist/opaque-sql-Dset3kln-CtsPDTXn.mjs.map +1 -0
- package/dist/operations.d.mts +1 -1
- package/dist/operations.mjs +1 -1
- package/dist/orm-client.d.mts +817 -267
- package/dist/orm-client.d.mts.map +1 -1
- package/dist/orm-client.mjs +4719 -2942
- package/dist/orm-client.mjs.map +1 -1
- package/dist/pack-DA8HZ2mo.d.mts +535 -0
- package/dist/pack-DA8HZ2mo.d.mts.map +1 -0
- package/dist/pack-gSvGQWqs.mjs +80 -0
- package/dist/pack-gSvGQWqs.mjs.map +1 -0
- package/dist/{plan-CDxduYaN-pLIyyJaB.d.mts → plan-Cr4azjnG-CuL8FqXC.d.mts} +12 -8
- package/dist/plan-Cr4azjnG-CuL8FqXC.d.mts.map +1 -0
- package/dist/{plan-Dh0LbYIv-Crx5-ThG.mjs → plan-Dh0LbYIv-ubBSdUgl.mjs} +2 -2
- package/dist/plan-Dh0LbYIv-ubBSdUgl.mjs.map +1 -0
- package/dist/plan-Di6Gs2JD.d.mts +2 -0
- package/dist/psl-attribute-parsing-BCsFWsSp-BJ-wGlY6.mjs +42 -0
- package/dist/psl-attribute-parsing-BCsFWsSp-BJ-wGlY6.mjs.map +1 -0
- package/dist/psl-build-DFBG6vhz.mjs +426 -0
- package/dist/psl-build-DFBG6vhz.mjs.map +1 -0
- package/dist/psl-build-RelubU2E.d.mts +112 -0
- package/dist/psl-build-RelubU2E.d.mts.map +1 -0
- package/dist/psl-column-resolution-ChZqioOc-BREg4J7d.d.mts +24 -0
- package/dist/psl-column-resolution-ChZqioOc-BREg4J7d.d.mts.map +1 -0
- package/dist/psl-field-resolution-C5KQ7kzP-B0NwuRWV.mjs +1960 -0
- package/dist/psl-field-resolution-C5KQ7kzP-B0NwuRWV.mjs.map +1 -0
- package/dist/psl-infer--g4i84Go.mjs +201 -0
- package/dist/psl-infer--g4i84Go.mjs.map +1 -0
- package/dist/psl-infer-DzoxPZGd.d.mts +80 -0
- package/dist/psl-infer-DzoxPZGd.d.mts.map +1 -0
- package/dist/psl-names-C3cwe0rg-D1CTmC3a.mjs +66 -0
- package/dist/psl-names-C3cwe0rg-D1CTmC3a.mjs.map +1 -0
- package/dist/{query-lane-context-Qa-eddrE-kuZ8Z86-.d.mts → query-lane-context-BCEoKy0_-CzmyavC9.d.mts} +20 -49
- package/dist/query-lane-context-BCEoKy0_-CzmyavC9.d.mts.map +1 -0
- package/dist/query-lane-context-VqH0mS9B.d.mts +1 -0
- package/dist/{referential-action-sql-DJ9ps6-S.d.mts → referential-action-sql-B2vKoUK6.d.mts} +3 -3
- package/dist/referential-action-sql-B2vKoUK6.d.mts.map +1 -0
- package/dist/{referential-action-sql-DSqkrySN.mjs → referential-action-sql-BLzCtTi8.mjs} +2 -2
- package/dist/referential-action-sql-BLzCtTi8.mjs.map +1 -0
- package/dist/relational-core.d.mts +14 -13
- package/dist/relational-core.mjs +8 -8
- package/dist/relational-core__aggregate-descriptor-registry.d.mts +2 -2
- package/dist/relational-core__aggregate-descriptor-registry.d.mts.map +1 -1
- package/dist/relational-core__aggregate-descriptor-registry.mjs +1 -1
- package/dist/relational-core__ast.d.mts +5 -5
- package/dist/relational-core__ast.mjs +5 -5
- package/dist/relational-core__codec-descriptor-registry.d.mts +7 -8
- package/dist/relational-core__codec-descriptor-registry.d.mts.map +1 -1
- package/dist/relational-core__codec-descriptor-registry.mjs +1 -1
- package/dist/relational-core__collection-methods.d.mts +3 -0
- package/dist/relational-core__contract-free.d.mts +18 -8
- package/dist/relational-core__contract-free.d.mts.map +1 -1
- package/dist/relational-core__contract-free.mjs +26 -10
- package/dist/relational-core__contract-free.mjs.map +1 -1
- package/dist/relational-core__expression.d.mts +4 -2
- package/dist/relational-core__expression.mjs +2 -2
- package/dist/relational-core__functions.d.mts +2 -0
- package/dist/relational-core__functions.mjs +2 -0
- package/dist/relational-core__index-reference.d.mts +3 -0
- package/dist/relational-core__index-reference.mjs +2 -0
- package/dist/relational-core__middleware.d.mts +2 -2
- package/dist/relational-core__middleware.mjs +1 -1
- package/dist/relational-core__plan.d.mts +4 -4
- package/dist/relational-core__plan.mjs +1 -1
- package/dist/relational-core__query-lane-context.d.mts +3 -3
- package/dist/relational-core__types.d.mts +2 -2
- package/dist/{resolve-storage-table-DZsfnzeW.mjs → resolve-storage-table-BHLQsOza.mjs} +3 -3
- package/dist/resolve-storage-table-BHLQsOza.mjs.map +1 -0
- package/dist/{resolve-storage-table-Nyrgk4h8.d.mts → resolve-storage-table-DCqtmnSU.d.mts} +4 -4
- package/dist/resolve-storage-table-DCqtmnSU.d.mts.map +1 -0
- package/dist/{runtime-tIHpGCcG.mjs → runtime-6tH1yOxK.mjs} +6 -6
- package/dist/runtime-6tH1yOxK.mjs.map +1 -0
- package/dist/{runtime-DpKF2Yu2.d.mts → runtime-CF6rAlE5.d.mts} +7 -8
- package/dist/runtime-CF6rAlE5.d.mts.map +1 -0
- package/dist/runtime.d.mts +5 -5
- package/dist/runtime.mjs +2 -1799
- package/dist/runtime__internal__prepared-query.d.mts +2 -2
- package/dist/runtime__internal__prepared-query.mjs +2 -2
- package/dist/{schema-differ-DpG_gnur-DFAtGezx.d.mts → schema-differ-DmP74bB8-tqHKiJ88.d.mts} +6 -6
- package/dist/schema-differ-DmP74bB8-tqHKiJ88.d.mts.map +1 -0
- package/dist/schema-ir.d.mts +2 -2
- package/dist/schema-ir.mjs +2 -2
- package/dist/schema-ir__naming.d.mts +1 -1
- package/dist/schema-ir__naming.mjs +1 -1
- package/dist/schema-ir__types.d.mts +3 -3
- package/dist/schema-ir__types.mjs +2 -2
- package/dist/{schema-verify-C_PEdlAr-Dxxjm6EM.mjs → schema-verify-C3wbdviw-DMjIubOr.mjs} +50 -8
- package/dist/schema-verify-C3wbdviw-DMjIubOr.mjs.map +1 -0
- package/dist/{serialized-index-CrgG8ct1-DG3JpHc7.d.mts → serialized-index-CrgG8ct1-DKVJ7TDX.d.mts} +4 -4
- package/dist/serialized-index-CrgG8ct1-DKVJ7TDX.d.mts.map +1 -0
- package/dist/{serialized-index-nBTwanKy-_ddEK4tk.mjs → serialized-index-DjCCnXB1-DMA7BtO2.mjs} +4 -4
- package/dist/serialized-index-DjCCnXB1-DMA7BtO2.mjs.map +1 -0
- package/dist/{sql-contract-serializer-2oBWuxTe-DKZTf2n8.mjs → sql-contract-serializer-sMY3prTx-D2BfrNxs.mjs} +41 -16
- package/dist/sql-contract-serializer-sMY3prTx-D2BfrNxs.mjs.map +1 -0
- package/dist/sql-data-type-D7M-YTTY-D2vRqDxn.mjs +400 -0
- package/dist/sql-data-type-D7M-YTTY-D2vRqDxn.mjs.map +1 -0
- package/dist/{sql-execution-plan--jKyLpe5-CMGhgO0M.d.mts → sql-execution-plan-3uxYjHyu-DLknM-Pj.d.mts} +3 -3
- package/dist/sql-execution-plan-3uxYjHyu-DLknM-Pj.d.mts.map +1 -0
- package/dist/sql-expression-B4BrhGPi.d.mts +62 -0
- package/dist/sql-expression-B4BrhGPi.d.mts.map +1 -0
- package/dist/sql-expression-CKgKznXS.mjs +137 -0
- package/dist/sql-expression-CKgKznXS.mjs.map +1 -0
- package/dist/{sql-index-ByAAE7K8-DKj2V86p.d.mts → sql-index-ByAAE7K8-Dqtn_vUL.d.mts} +4 -4
- package/dist/sql-index-ByAAE7K8-Dqtn_vUL.d.mts.map +1 -0
- package/dist/{sql-node-kEz6YFZo-v2F7delx.d.mts → sql-node-kEz6YFZo-1ogT6Cxt.d.mts} +2 -2
- package/dist/sql-node-kEz6YFZo-1ogT6Cxt.d.mts.map +1 -0
- package/dist/{sql-storage-8LqxeLAY-DH4DdUXx.d.mts → sql-storage-DeCAh5Hi-CEM-m8cs.d.mts} +19 -22
- package/dist/sql-storage-DeCAh5Hi-CEM-m8cs.d.mts.map +1 -0
- package/dist/{storage-table-DSeWszOL-CI-cItEK.d.mts → storage-table-Bf1ZjnxO-pUj6pyP0.d.mts} +17 -24
- package/dist/storage-table-Bf1ZjnxO-pUj6pyP0.d.mts.map +1 -0
- package/dist/{storage-table-ZzbR-xzQ-BRoTQE_2.mjs → storage-table-DDvN83mw-DkbBFmK9.mjs} +12 -9
- package/dist/storage-table-DDvN83mw-DkbBFmK9.mjs.map +1 -0
- package/dist/{storage-value-set-BGlj5Uus-CvZD--GG.d.mts → storage-value-set-BGlj5Uus-ny2k-0PA.d.mts} +3 -3
- package/dist/storage-value-set-BGlj5Uus-ny2k-0PA.d.mts.map +1 -0
- package/dist/transaction-state-BfXhs7D7-DhmbySW9.mjs +45 -0
- package/dist/transaction-state-BfXhs7D7-DhmbySW9.mjs.map +1 -0
- package/dist/transaction-state-DR3nKTmH-D29jmVE-.d.mts +115 -0
- package/dist/transaction-state-DR3nKTmH-D29jmVE-.d.mts.map +1 -0
- package/dist/types-B9wSEUsV.d.mts +1 -0
- package/dist/{types-CUsJrvEl.mjs → types-CTdSkl0s.mjs} +13 -6
- package/dist/types-CTdSkl0s.mjs.map +1 -0
- package/dist/types-CkAd8SWm.d.mts +57 -0
- package/dist/types-CkAd8SWm.d.mts.map +1 -0
- package/dist/{types-IqZMLrFC-DcH8v_u3.d.mts → types-Cq6ImLAB-RlU4jJAX.d.mts} +27 -41
- package/dist/types-Cq6ImLAB-RlU4jJAX.d.mts.map +1 -0
- package/dist/{types-YStFFkKs-D9UAmnON.d.mts → types-CuCxAQat-Dz8P4xyt.d.mts} +141 -86
- package/dist/types-CuCxAQat-Dz8P4xyt.d.mts.map +1 -0
- package/dist/types-DfKvtJwS-CrpWTGBJ.d.mts +273 -0
- package/dist/types-DfKvtJwS-CrpWTGBJ.d.mts.map +1 -0
- package/dist/{types-4YenawkP-CwaaZSid.mjs → types-DoyiTsjg-2YMhMJDA.mjs} +181 -80
- package/dist/types-DoyiTsjg-2YMhMJDA.mjs.map +1 -0
- package/dist/{types-v3qxLLxo-DCeKv7yY.d.mts → types-DriMIMNQ-BkbsW7w3.d.mts} +68 -34
- package/dist/types-DriMIMNQ-BkbsW7w3.d.mts.map +1 -0
- package/dist/{types-Dt4e_jC--COeP8xzN.mjs → types-NTQsD2MS-xcLtvKO9.mjs} +83 -17
- package/dist/types-NTQsD2MS-xcLtvKO9.mjs.map +1 -0
- package/dist/{types-CyxGtOOh-BggSa6Fe.d.mts → types-TXO7x1BA-CYYIY8NI.d.mts} +14 -14
- package/dist/types-TXO7x1BA-CYYIY8NI.d.mts.map +1 -0
- package/dist/types-ljUNyiWe.d.mts +1 -0
- package/dist/{unique-constraint-M5TlQnJQ-BiIHJ85k.d.mts → unique-constraint-M5TlQnJQ-qX-maNUV.d.mts} +3 -3
- package/dist/unique-constraint-M5TlQnJQ-qX-maNUV.d.mts.map +1 -0
- package/dist/{util-DQQgv2j1-D6INZaRG.mjs → util-BBgcP3gI-CpL-0VuC.mjs} +12 -3
- package/dist/util-BBgcP3gI-CpL-0VuC.mjs.map +1 -0
- package/dist/{validators-CrWD6bSP.mjs → validators-BwA7ttZM.mjs} +0 -0
- package/dist/validators-BwA7ttZM.mjs.map +1 -0
- package/dist/{validators-Belo8QqM.d.mts → validators-FJs8HvFr.d.mts} +54 -16
- package/dist/validators-FJs8HvFr.d.mts.map +1 -0
- package/dist/{value-set-derivation-hook-BhgGVtw0.d.mts → value-set-derivation-hook-3E437jPU.d.mts} +3 -3
- package/dist/value-set-derivation-hook-3E437jPU.d.mts.map +1 -0
- package/dist/{value-set-derivation-hook-Di9JZ0X7.mjs → value-set-derivation-hook-HVaxhALD.mjs} +2 -2
- package/dist/value-set-derivation-hook-HVaxhALD.mjs.map +1 -0
- package/dist/{verify-u0UTdZgD-DSAaz9rW.mjs → verify-BVk5bjdH-DhKm6hB3.mjs} +8 -7
- package/dist/verify-BVk5bjdH-DhKm6hB3.mjs.map +1 -0
- package/dist/{verify-zDRnw0Rn.d.mts → verify-DHXbuZPB.d.mts} +2 -2
- package/dist/verify-DHXbuZPB.d.mts.map +1 -0
- package/package.json +33 -22
- package/dist/aggregate-descriptor-registry-C7hel5O7.mjs.map +0 -1
- package/dist/ast-HFcfQZr-.d.mts +0 -206
- package/dist/ast-HFcfQZr-.d.mts.map +0 -1
- package/dist/ast-Lbl4VwqP.mjs +0 -325
- package/dist/ast-Lbl4VwqP.mjs.map +0 -1
- package/dist/authored-check-naming-BWBe-PVE.d.mts.map +0 -1
- package/dist/authored-check-naming-Hf9990DV.mjs.map +0 -1
- package/dist/authoring-type-constructors-Blqoa2Ua-DqvNCOb2.mjs +0 -316
- package/dist/authoring-type-constructors-Blqoa2Ua-DqvNCOb2.mjs.map +0 -1
- package/dist/canonicalization-hooks-CYnW_sGn.d.mts.map +0 -1
- package/dist/canonicalization-hooks-dmXkOR4a.mjs.map +0 -1
- package/dist/check-constraint-B7qGu6rc-HvQjjX82.d.mts.map +0 -1
- package/dist/codec-descriptor-registry-N0dhtKaH.mjs.map +0 -1
- package/dist/config-types-D9fdKG3g.d.mts.map +0 -1
- package/dist/config-types-gAm54C_v.mjs.map +0 -1
- package/dist/contract-builder-CG_tGDbB.d.mts +0 -1360
- package/dist/contract-builder-CG_tGDbB.d.mts.map +0 -1
- package/dist/contract-builder-D4a5dT7j.mjs.map +0 -1
- package/dist/contract-errors-BCN6RVI5-5IHBF_lg.mjs.map +0 -1
- package/dist/contract-view-BMR5IWk4.mjs.map +0 -1
- package/dist/contract-view-CPHxoAEX.d.mts.map +0 -1
- package/dist/contract__pack-types.d.mts +0 -2
- package/dist/control-D3cB5YQp.mjs +0 -1267
- package/dist/control-D3cB5YQp.mjs.map +0 -1
- package/dist/control-DTLJ1WtZ.d.mts +0 -945
- package/dist/control-DTLJ1WtZ.d.mts.map +0 -1
- package/dist/control-adapter-C99J7aEF-B7eQd7vD.d.mts.map +0 -1
- package/dist/control-adapter-MZJQiwcE.d.mts +0 -1
- package/dist/db-D18PrXKW-DvTv4JFn.d.mts.map +0 -1
- package/dist/ddl-types-BGdnAbXo-DKPHPUGx.mjs.map +0 -1
- package/dist/ddl-types-CXx4vPz6-BsgrnSUY.d.mts.map +0 -1
- package/dist/derived-checks-DFMRmiAu-DGfB8aS4.mjs +0 -1057
- package/dist/derived-checks-DFMRmiAu-DGfB8aS4.mjs.map +0 -1
- package/dist/derived-checks-DPdD01O0-DGqOFjs6.d.mts.map +0 -1
- package/dist/diff-B16bL_IR.mjs +0 -13
- package/dist/diff-B16bL_IR.mjs.map +0 -1
- package/dist/diff-DbTNVm2f.d.mts.map +0 -1
- package/dist/dist-C_q1_QR9.mjs.map +0 -1
- package/dist/dist-ZK6oeI5e.mjs.map +0 -1
- package/dist/dist-x6jvtkKM.mjs.map +0 -1
- package/dist/driver-types-BQtRkOJ0-Bv2RPSfr.d.mts.map +0 -1
- package/dist/entity-handle-lowering-hook-CIvRKBfa.d.mts.map +0 -1
- package/dist/entity-handle-lowering-hook-DwLIKNiS.mjs +0 -11
- package/dist/entity-handle-lowering-hook-DwLIKNiS.mjs.map +0 -1
- package/dist/entity-kinds-B5cUFU22.d.mts.map +0 -1
- package/dist/entity-kinds-D7vwoN_T-CCBwFJy0.mjs.map +0 -1
- package/dist/errors-B5g0xWro-mWH2C07F.mjs.map +0 -1
- package/dist/expression-CX5mTA-z.mjs.map +0 -1
- package/dist/expression-FJK6Ar-d.d.mts.map +0 -1
- package/dist/factories-P3qBQhO-.d.mts.map +0 -1
- package/dist/factories-SVor5xIT.mjs.map +0 -1
- package/dist/family__pack.d.mts.map +0 -1
- package/dist/family__pack.mjs.map +0 -1
- package/dist/foreign-key-C-iTPuRT-C9ip8zFx.d.mts.map +0 -1
- package/dist/foreign-key-materialization-CkvOzJWy.d.mts +0 -65
- package/dist/foreign-key-materialization-CkvOzJWy.d.mts.map +0 -1
- package/dist/foreign-key-materialization-Cu7-7LHl.mjs +0 -73
- package/dist/foreign-key-materialization-Cu7-7LHl.mjs.map +0 -1
- package/dist/index-C-vQOMY_.d.mts +0 -84
- package/dist/index-C-vQOMY_.d.mts.map +0 -1
- package/dist/index-C5I8D-MB.d.mts.map +0 -1
- package/dist/index-naming-Ct65z5Xk.d.mts.map +0 -1
- package/dist/index-naming-DREt6js7-CRH27yUv.mjs.map +0 -1
- package/dist/index-type-validation-COH4d78M.mjs +0 -17
- package/dist/index-type-validation-COH4d78M.mjs.map +0 -1
- package/dist/index-type-validation-CZ5L2lli.d.mts +0 -10
- package/dist/index-type-validation-CZ5L2lli.d.mts.map +0 -1
- package/dist/index-types-CNhHgKHi.d.mts +0 -1
- package/dist/index-types-DJQ_xwaE.mjs +0 -40
- package/dist/index-types-DJQ_xwaE.mjs.map +0 -1
- package/dist/index-types-DPVhsW0v-D-BikM4h.d.mts +0 -31
- package/dist/index-types-DPVhsW0v-D-BikM4h.d.mts.map +0 -1
- package/dist/interpreter-DyiUUAWh-DYdjIpiE.mjs +0 -3680
- package/dist/interpreter-DyiUUAWh-DYdjIpiE.mjs.map +0 -1
- package/dist/ir-Bghjt-FG.d.mts.map +0 -1
- package/dist/ir-I-xciGUH.mjs.map +0 -1
- package/dist/lane-query-builder.d.mts +0 -236
- package/dist/lane-query-builder.d.mts.map +0 -1
- package/dist/lane-query-builder.mjs +0 -67
- package/dist/lane-query-builder.mjs.map +0 -1
- package/dist/middleware--TtoxUiW.d.mts +0 -1
- package/dist/middleware-AhTz1BOW-th-Suxuf.d.mts.map +0 -1
- package/dist/middleware-CMr4CHNz-DHIUdxlm.mjs.map +0 -1
- package/dist/migration-CK4oePIo.mjs.map +0 -1
- package/dist/migration-CjDRZNep.d.mts.map +0 -1
- package/dist/naming-CV9j2pXl-KARaDReS.d.mts.map +0 -1
- package/dist/naming-DKr4TJd7-Cszhq9RV.mjs.map +0 -1
- package/dist/pack-types-BcLTpwbv.d.mts +0 -14
- package/dist/pack-types-BcLTpwbv.d.mts.map +0 -1
- package/dist/plan-BHLdb0Z7.d.mts +0 -2
- package/dist/plan-CDxduYaN-pLIyyJaB.d.mts.map +0 -1
- package/dist/plan-Dh0LbYIv-Crx5-ThG.mjs.map +0 -1
- package/dist/prepared-query-BJr50wPm-ChoqfJbX.mjs +0 -22
- package/dist/prepared-query-BJr50wPm-ChoqfJbX.mjs.map +0 -1
- package/dist/prepared-statement-9QpkE6JG-C430V3MO.d.mts +0 -529
- package/dist/prepared-statement-9QpkE6JG-C430V3MO.d.mts.map +0 -1
- package/dist/psl-infer-CCAD6FWA.d.mts +0 -119
- package/dist/psl-infer-CCAD6FWA.d.mts.map +0 -1
- package/dist/psl-infer-Dk5kgKre.mjs +0 -362
- package/dist/psl-infer-Dk5kgKre.mjs.map +0 -1
- package/dist/query-lane-context-Qa-eddrE-kuZ8Z86-.d.mts.map +0 -1
- package/dist/query-lane-context-XMvk7fmY.d.mts +0 -1
- package/dist/referential-action-sql-DJ9ps6-S.d.mts.map +0 -1
- package/dist/referential-action-sql-DSqkrySN.mjs.map +0 -1
- package/dist/resolve-storage-table-DZsfnzeW.mjs.map +0 -1
- package/dist/resolve-storage-table-Nyrgk4h8.d.mts.map +0 -1
- package/dist/runtime-DpKF2Yu2.d.mts.map +0 -1
- package/dist/runtime-tIHpGCcG.mjs.map +0 -1
- package/dist/runtime.mjs.map +0 -1
- package/dist/schema-differ-DpG_gnur-DFAtGezx.d.mts.map +0 -1
- package/dist/schema-verify-C_PEdlAr-Dxxjm6EM.mjs.map +0 -1
- package/dist/serialized-index-CrgG8ct1-DG3JpHc7.d.mts.map +0 -1
- package/dist/serialized-index-nBTwanKy-_ddEK4tk.mjs.map +0 -1
- package/dist/sql-contract-serializer-2oBWuxTe-DKZTf2n8.mjs.map +0 -1
- package/dist/sql-execution-plan--jKyLpe5-CMGhgO0M.d.mts.map +0 -1
- package/dist/sql-index-ByAAE7K8-DKj2V86p.d.mts.map +0 -1
- package/dist/sql-node-kEz6YFZo-v2F7delx.d.mts.map +0 -1
- package/dist/sql-storage-8LqxeLAY-DH4DdUXx.d.mts.map +0 -1
- package/dist/storage-table-DSeWszOL-CI-cItEK.d.mts.map +0 -1
- package/dist/storage-table-ZzbR-xzQ-BRoTQE_2.mjs.map +0 -1
- package/dist/storage-value-set-BGlj5Uus-CvZD--GG.d.mts.map +0 -1
- package/dist/timestamp-now-generator-DRXygu32-DN9Qb1uI.mjs +0 -173
- package/dist/timestamp-now-generator-DRXygu32-DN9Qb1uI.mjs.map +0 -1
- package/dist/types-4YenawkP-CwaaZSid.mjs.map +0 -1
- package/dist/types-B0msOnBM.d.mts +0 -1
- package/dist/types-BDUG29Df-LE85dIXP.d.mts +0 -161
- package/dist/types-BDUG29Df-LE85dIXP.d.mts.map +0 -1
- package/dist/types-CUsJrvEl.mjs.map +0 -1
- package/dist/types-CyxGtOOh-BggSa6Fe.d.mts.map +0 -1
- package/dist/types-Dt4e_jC--COeP8xzN.mjs.map +0 -1
- package/dist/types-Dwcw0F8X.d.mts +0 -1
- package/dist/types-IqZMLrFC-DcH8v_u3.d.mts.map +0 -1
- package/dist/types-UcHa2cTe.d.mts +0 -17
- package/dist/types-UcHa2cTe.d.mts.map +0 -1
- package/dist/types-YStFFkKs-D9UAmnON.d.mts.map +0 -1
- package/dist/types-v3qxLLxo-DCeKv7yY.d.mts.map +0 -1
- package/dist/unique-constraint-M5TlQnJQ-BiIHJ85k.d.mts.map +0 -1
- package/dist/util-DQQgv2j1-D6INZaRG.mjs.map +0 -1
- package/dist/validators-Belo8QqM.d.mts.map +0 -1
- package/dist/validators-CrWD6bSP.mjs.map +0 -1
- package/dist/value-set-derivation-hook-BhgGVtw0.d.mts.map +0 -1
- package/dist/value-set-derivation-hook-Di9JZ0X7.mjs.map +0 -1
- package/dist/verify-u0UTdZgD-DSAaz9rW.mjs.map +0 -1
- package/dist/verify-zDRnw0Rn.d.mts.map +0 -1
- /package/dist/{contract__pack-types.mjs → relational-core__collection-methods.mjs} +0 -0
|
@@ -0,0 +1,1416 @@
|
|
|
1
|
+
import { r as StorageTable } from "./storage-table-Bf1ZjnxO-pUj6pyP0.mjs";
|
|
2
|
+
import { l as SqlStorage } from "./sql-storage-DeCAh5Hi-CEM-m8cs.mjs";
|
|
3
|
+
import { j as SqlControlDriverInstance } from "./types-DfKvtJwS-CrpWTGBJ.mjs";
|
|
4
|
+
import "./types-CkAd8SWm.mjs";
|
|
5
|
+
import { r as SqlOperationDescriptors } from "./index-Nqc3OHR_.mjs";
|
|
6
|
+
import { h as AnyQueryAst } from "./types-DriMIMNQ-BkbsW7w3.mjs";
|
|
7
|
+
import { o as SqlExecuteRequest } from "./driver-types-DRsYeq3j-BimeCnUk.mjs";
|
|
8
|
+
import { a as DdlNode } from "./ddl-types-By5mT2_S-CdaaFvsX.mjs";
|
|
9
|
+
import { p as LowererContext } from "./ast-YEMe_B8z.mjs";
|
|
10
|
+
import { a as EnumMemberListDefault, i as EnumMemberDefault, n as DefaultFunctionCall, o as ParsedNullLiteral } from "./attribute-specs-DA_RwQFB.mjs";
|
|
11
|
+
import { S as SqlSchemaIRNode, b as SqlSchemaIR, p as SqlDefaultValue } from "./types-CuCxAQat-Dz8P4xyt.mjs";
|
|
12
|
+
import "./types-ljUNyiWe.mjs";
|
|
13
|
+
import "./validators-FJs8HvFr.mjs";
|
|
14
|
+
import { r as SqlControlAdapter } from "./control-adapter-Bn0uhplA-BzP2uPqJ.mjs";
|
|
15
|
+
import { t as sqlFamilyEnumSpec } from "./authoring-entity-types-CgKIgWq5-pEdfjam5.mjs";
|
|
16
|
+
import { C as SqlPlannerConflict, E as SqlPlannerFailureResult, O as SqlPlannerSuccessResult, c as SqlMigrationPlan, d as SqlMigrationPlanOperationStep, g as SqlMigrationRunnerErrorCode, h as SqlMigrationRunner, n as CreateSqlMigrationPlanOptions, p as SqlMigrationPlanner, t as CodecControlHooks, x as SqlMigrationRunnerSuccessValue, y as SqlMigrationRunnerFailure } from "./types-Cq6ImLAB-RlU4jJAX.mjs";
|
|
17
|
+
import { t as SqlSchemaDiffFn } from "./schema-differ-DmP74bB8-tqHKiJ88.mjs";
|
|
18
|
+
import { StructuredError } from "@prisma/orm-framework/utils/structured-error";
|
|
19
|
+
import { DataTypeSupport } from "@prisma/orm-framework/components/authoring";
|
|
20
|
+
import { Codec, CodecLookupWithDescriptors, CodecRef, DataType, DataTypeLookup, TypeLookups } from "@prisma/orm-framework/components/codec";
|
|
21
|
+
import { ColumnDefault, Contract, ContractWithDomain, ControlPolicy } from "@prisma/orm-framework/contract/types";
|
|
22
|
+
import { GeneratorFunctionRegistry, TargetBoundComponentDescriptor } from "@prisma/orm-framework/components/components";
|
|
23
|
+
import { PslDocumentAst } from "@prisma/orm-framework/components/psl-ast";
|
|
24
|
+
import { NotOk, Ok, Result } from "@prisma/orm-framework/utils/result";
|
|
25
|
+
import { AppliedMigrationStatement, AssembledAuthoringContributions, ContractSerializer, ControlFamilyDescriptor, ControlFamilyInstance, ControlMutationDefaultEntry, ControlStack, DiffSubjectGranularity, FieldCoordinate, ImportRequirement, MigratableTargetDescriptor, MigrationDataLossKind, MigrationOperationClass, MigrationOperationClass as MigrationOperationClass$1, MigrationOperationPolicy, MigrationOperationPolicy as MigrationOperationPolicy$1, MigrationPlan as MigrationPlan$1, MigrationPlanOperation, MigrationPlanOperation as MigrationPlanOperation$1, MigrationPlanSubjects, MigrationPlanner, MigrationPlannerConflict, MigrationPlannerConflict as MigrationPlannerConflict$1, MigrationPlannerResult, MigrationRunnerFailureMeta, MigrationSubject, ModelCoordinate, OpFactoryCall, OperationPreview, OperationPreviewCapable, PslContractBuildCapable, PslContractInferCapable, ResolvedFieldRenameStatement, ResolvedMigrationStatement, ResolvedModelRenameStatement, ResolvedRenameStatement, RowsWithoutValue, SchemaDiffIssue, SchemaOwnership, SchemaVerifier, SchemaViewCapable, TargetMigrationsCapability, VerifyDatabaseResult, VerifyDatabaseSchemaResult, assembleAuthoringContributions as assembleAuthoringContributions$1 } from "@prisma/orm-framework/components/control";
|
|
26
|
+
import { EmissionSpi, TypesImportSpec } from "@prisma/orm-framework/components/emission";
|
|
27
|
+
//#region ../../../2-sql-family/9-family/dist/control.d.mts
|
|
28
|
+
//#region src/core/control-instance.d.ts
|
|
29
|
+
interface SqlFamilyInstanceState {
|
|
30
|
+
readonly codecTypeImports: ReadonlyArray<TypesImportSpec>;
|
|
31
|
+
readonly extensionIds: ReadonlyArray<string>;
|
|
32
|
+
}
|
|
33
|
+
interface SqlControlFamilyInstance extends ControlFamilyInstance<'sql', SqlSchemaIRNode>, SchemaViewCapable<SqlSchemaIRNode>, PslContractInferCapable<SqlSchemaIRNode>, PslContractBuildCapable<Contract<SqlStorage>>, OperationPreviewCapable, SqlFamilyInstanceState {
|
|
34
|
+
/**
|
|
35
|
+
* The family seam-of-record for on-disk contract reads. Structurally
|
|
36
|
+
* validates the JSON envelope, then hydrates IR-class instances via
|
|
37
|
+
* the per-target ContractSerializer. The single named entry point
|
|
38
|
+
* every CLI on-disk read crosses (TML-2536) — `as Contract` casts
|
|
39
|
+
* in production package sources are a serializer-bypass smell guarded
|
|
40
|
+
* by `pnpm lint:no-contract-cast`.
|
|
41
|
+
*/
|
|
42
|
+
deserializeContract(contractJson: unknown): Contract;
|
|
43
|
+
verify(options: {
|
|
44
|
+
readonly driver: SqlControlDriverInstance<string>;
|
|
45
|
+
readonly contract: unknown;
|
|
46
|
+
readonly expectedTargetId: string;
|
|
47
|
+
readonly contractPath: string;
|
|
48
|
+
readonly configPath?: string;
|
|
49
|
+
}): Promise<VerifyDatabaseResult>;
|
|
50
|
+
/**
|
|
51
|
+
* Verify a contract against an already-introspected schema.
|
|
52
|
+
*
|
|
53
|
+
* Callers that need to verify against the live database compose
|
|
54
|
+
* `introspect({ driver })` + `verifySchema({ contract, schema, ... })`.
|
|
55
|
+
* The aggregate verifier hands in the full introspected schema and scopes
|
|
56
|
+
* the returned result to each member's contract space afterwards — so
|
|
57
|
+
* sibling-space tables never survive as `extras`.
|
|
58
|
+
*/
|
|
59
|
+
verifySchema(options: {
|
|
60
|
+
readonly contract: unknown;
|
|
61
|
+
readonly schema: SqlSchemaIRNode;
|
|
62
|
+
readonly strict: boolean;
|
|
63
|
+
readonly frameworkComponents: ReadonlyArray<TargetBoundComponentDescriptor<'sql', string>>;
|
|
64
|
+
}): VerifyDatabaseSchemaResult;
|
|
65
|
+
/**
|
|
66
|
+
* Classifies a diff issue's subject granularity on demand, resolved from
|
|
67
|
+
* its node's `nodeKind` via the target's classifier. Satisfies the
|
|
68
|
+
* {@link import('@prisma/orm-framework/components/control').SchemaSubjectClassifierCapable}
|
|
69
|
+
* capability that framework consumers spanning contract spaces (the
|
|
70
|
+
* migration aggregate's unclaimed-elements sweep) detect via
|
|
71
|
+
* `hasSchemaSubjectClassifier` and call instead of reading family/target
|
|
72
|
+
* node vocabulary. Nothing is stamped on the issue or the node.
|
|
73
|
+
*/
|
|
74
|
+
classifySubjectGranularity(issue: SchemaDiffIssue): DiffSubjectGranularity | undefined;
|
|
75
|
+
/**
|
|
76
|
+
* Classifies a diff issue's subject storage `entityKind` on demand,
|
|
77
|
+
* resolved from its node's `nodeKind` via the target's classifier —
|
|
78
|
+
* sibling of `classifySubjectGranularity` above, part of the same
|
|
79
|
+
* {@link import('@prisma/orm-framework/components/control').SchemaSubjectClassifierCapable}
|
|
80
|
+
* capability. Nothing is stamped on the issue or the node.
|
|
81
|
+
*/
|
|
82
|
+
classifyEntityKind(issue: SchemaDiffIssue): string | undefined;
|
|
83
|
+
introspect(options: {
|
|
84
|
+
readonly driver: SqlControlDriverInstance<string>;
|
|
85
|
+
readonly contract?: unknown;
|
|
86
|
+
}): Promise<SqlSchemaIRNode>;
|
|
87
|
+
inferPslContract(schemaIR: SqlSchemaIRNode): Promise<PslDocumentAst>;
|
|
88
|
+
lowerAst(ast: AnyQueryAst | DdlNode, context: LowererContext<unknown>): Promise<SqlExecuteRequest>;
|
|
89
|
+
/**
|
|
90
|
+
* Inserts the initial marker row for `space` (upsert on `space`).
|
|
91
|
+
* Delegates to the target control adapter's write SPI; see
|
|
92
|
+
* `SqlControlAdapter.initMarker`.
|
|
93
|
+
*/
|
|
94
|
+
initMarker(options: {
|
|
95
|
+
readonly driver: SqlControlDriverInstance<string>;
|
|
96
|
+
readonly space: string;
|
|
97
|
+
readonly destination: {
|
|
98
|
+
readonly storageHash: string;
|
|
99
|
+
readonly profileHash: string;
|
|
100
|
+
readonly invariants?: readonly string[];
|
|
101
|
+
};
|
|
102
|
+
}): Promise<void>;
|
|
103
|
+
/**
|
|
104
|
+
* Compare-and-swap advance of the marker row for `space`. Returns `true`
|
|
105
|
+
* when the swap matched a row; see `SqlControlAdapter.updateMarker`.
|
|
106
|
+
*/
|
|
107
|
+
updateMarker(options: {
|
|
108
|
+
readonly driver: SqlControlDriverInstance<string>;
|
|
109
|
+
readonly space: string;
|
|
110
|
+
readonly expectedFrom: string;
|
|
111
|
+
readonly destination: {
|
|
112
|
+
readonly storageHash: string;
|
|
113
|
+
readonly profileHash: string;
|
|
114
|
+
readonly invariants?: readonly string[];
|
|
115
|
+
};
|
|
116
|
+
}): Promise<boolean>;
|
|
117
|
+
/**
|
|
118
|
+
* Appends a ledger entry for `space`; see
|
|
119
|
+
* `SqlControlAdapter.writeLedgerEntry`.
|
|
120
|
+
*/
|
|
121
|
+
writeLedgerEntry(options: {
|
|
122
|
+
readonly driver: SqlControlDriverInstance<string>;
|
|
123
|
+
readonly space: string;
|
|
124
|
+
readonly entry: {
|
|
125
|
+
readonly edgeId: string;
|
|
126
|
+
readonly from: string;
|
|
127
|
+
readonly to: string;
|
|
128
|
+
readonly migrationName: string;
|
|
129
|
+
readonly migrationHash: string;
|
|
130
|
+
readonly operations: readonly unknown[];
|
|
131
|
+
readonly destinationContractJson?: unknown;
|
|
132
|
+
};
|
|
133
|
+
}): Promise<void>;
|
|
134
|
+
bootstrapControlTableQueries(): readonly DdlNode[];
|
|
135
|
+
toOperationPreview(operations: readonly MigrationPlanOperation[]): OperationPreview;
|
|
136
|
+
storageNameOf(operation: MigrationPlanOperation): string;
|
|
137
|
+
}
|
|
138
|
+
//#endregion
|
|
139
|
+
//#region src/core/control-descriptor.d.ts
|
|
140
|
+
declare class SqlFamilyDescriptor implements ControlFamilyDescriptor<'sql', SqlControlFamilyInstance> {
|
|
141
|
+
readonly kind: "family";
|
|
142
|
+
readonly id = "sql";
|
|
143
|
+
readonly familyId: "sql";
|
|
144
|
+
readonly version = "0.0.1";
|
|
145
|
+
readonly emission: EmissionSpi;
|
|
146
|
+
readonly dataTypes: readonly DataType[];
|
|
147
|
+
readonly authoring: {
|
|
148
|
+
readonly field: {
|
|
149
|
+
readonly uuidString: {
|
|
150
|
+
readonly kind: "fieldPreset";
|
|
151
|
+
readonly output: {
|
|
152
|
+
readonly codecId: "sql/char@1";
|
|
153
|
+
readonly typeParams: {
|
|
154
|
+
readonly length: 36;
|
|
155
|
+
};
|
|
156
|
+
};
|
|
157
|
+
};
|
|
158
|
+
readonly ulid: {
|
|
159
|
+
readonly kind: "fieldPreset";
|
|
160
|
+
readonly output: {
|
|
161
|
+
readonly codecId: "sql/char@1";
|
|
162
|
+
readonly typeParams: {
|
|
163
|
+
readonly length: 26;
|
|
164
|
+
};
|
|
165
|
+
};
|
|
166
|
+
};
|
|
167
|
+
readonly nanoid: {
|
|
168
|
+
readonly kind: "fieldPreset";
|
|
169
|
+
readonly args: readonly [{
|
|
170
|
+
readonly kind: "object";
|
|
171
|
+
readonly optional: true;
|
|
172
|
+
readonly properties: {
|
|
173
|
+
readonly size: {
|
|
174
|
+
readonly kind: "number";
|
|
175
|
+
readonly optional: true;
|
|
176
|
+
readonly integer: true;
|
|
177
|
+
readonly minimum: 2;
|
|
178
|
+
readonly maximum: 255;
|
|
179
|
+
};
|
|
180
|
+
};
|
|
181
|
+
}];
|
|
182
|
+
readonly output: {
|
|
183
|
+
readonly codecId: "sql/char@1";
|
|
184
|
+
readonly typeParams: {
|
|
185
|
+
readonly length: {
|
|
186
|
+
readonly kind: "arg";
|
|
187
|
+
readonly index: 0;
|
|
188
|
+
readonly path: readonly ["size"];
|
|
189
|
+
readonly default: 21;
|
|
190
|
+
};
|
|
191
|
+
};
|
|
192
|
+
};
|
|
193
|
+
};
|
|
194
|
+
readonly cuid2: {
|
|
195
|
+
readonly kind: "fieldPreset";
|
|
196
|
+
readonly output: {
|
|
197
|
+
readonly codecId: "sql/char@1";
|
|
198
|
+
readonly typeParams: {
|
|
199
|
+
readonly length: 24;
|
|
200
|
+
};
|
|
201
|
+
};
|
|
202
|
+
};
|
|
203
|
+
readonly ksuid: {
|
|
204
|
+
readonly kind: "fieldPreset";
|
|
205
|
+
readonly output: {
|
|
206
|
+
readonly codecId: "sql/char@1";
|
|
207
|
+
readonly typeParams: {
|
|
208
|
+
readonly length: 27;
|
|
209
|
+
};
|
|
210
|
+
};
|
|
211
|
+
};
|
|
212
|
+
readonly id: {
|
|
213
|
+
readonly uuidv4String: {
|
|
214
|
+
readonly kind: "fieldPreset";
|
|
215
|
+
readonly output: {
|
|
216
|
+
readonly codecId: "sql/char@1";
|
|
217
|
+
readonly typeParams: {
|
|
218
|
+
readonly length: 36;
|
|
219
|
+
};
|
|
220
|
+
readonly executionDefaults: {
|
|
221
|
+
readonly onCreate: {
|
|
222
|
+
readonly kind: "generator";
|
|
223
|
+
readonly id: "uuidv4";
|
|
224
|
+
};
|
|
225
|
+
};
|
|
226
|
+
readonly id: true;
|
|
227
|
+
};
|
|
228
|
+
};
|
|
229
|
+
readonly uuidv7String: {
|
|
230
|
+
readonly kind: "fieldPreset";
|
|
231
|
+
readonly output: {
|
|
232
|
+
readonly codecId: "sql/char@1";
|
|
233
|
+
readonly typeParams: {
|
|
234
|
+
readonly length: 36;
|
|
235
|
+
};
|
|
236
|
+
readonly executionDefaults: {
|
|
237
|
+
readonly onCreate: {
|
|
238
|
+
readonly kind: "generator";
|
|
239
|
+
readonly id: "uuidv7";
|
|
240
|
+
};
|
|
241
|
+
};
|
|
242
|
+
readonly id: true;
|
|
243
|
+
};
|
|
244
|
+
};
|
|
245
|
+
readonly ulid: {
|
|
246
|
+
readonly kind: "fieldPreset";
|
|
247
|
+
readonly output: {
|
|
248
|
+
readonly codecId: "sql/char@1";
|
|
249
|
+
readonly typeParams: {
|
|
250
|
+
readonly length: 26;
|
|
251
|
+
};
|
|
252
|
+
readonly executionDefaults: {
|
|
253
|
+
readonly onCreate: {
|
|
254
|
+
readonly kind: "generator";
|
|
255
|
+
readonly id: "ulid";
|
|
256
|
+
};
|
|
257
|
+
};
|
|
258
|
+
readonly id: true;
|
|
259
|
+
};
|
|
260
|
+
};
|
|
261
|
+
readonly nanoid: {
|
|
262
|
+
readonly kind: "fieldPreset";
|
|
263
|
+
readonly args: readonly [{
|
|
264
|
+
readonly kind: "object";
|
|
265
|
+
readonly optional: true;
|
|
266
|
+
readonly properties: {
|
|
267
|
+
readonly size: {
|
|
268
|
+
readonly kind: "number";
|
|
269
|
+
readonly optional: true;
|
|
270
|
+
readonly integer: true;
|
|
271
|
+
readonly minimum: 2;
|
|
272
|
+
readonly maximum: 255;
|
|
273
|
+
};
|
|
274
|
+
};
|
|
275
|
+
}];
|
|
276
|
+
readonly output: {
|
|
277
|
+
readonly codecId: "sql/char@1";
|
|
278
|
+
readonly typeParams: {
|
|
279
|
+
readonly length: {
|
|
280
|
+
readonly kind: "arg";
|
|
281
|
+
readonly index: 0;
|
|
282
|
+
readonly path: readonly ["size"];
|
|
283
|
+
readonly default: 21;
|
|
284
|
+
};
|
|
285
|
+
};
|
|
286
|
+
readonly executionDefaults: {
|
|
287
|
+
readonly onCreate: {
|
|
288
|
+
readonly kind: "generator";
|
|
289
|
+
readonly id: "nanoid";
|
|
290
|
+
readonly params: {
|
|
291
|
+
readonly size: {
|
|
292
|
+
readonly kind: "arg";
|
|
293
|
+
readonly index: 0;
|
|
294
|
+
readonly path: readonly ["size"];
|
|
295
|
+
};
|
|
296
|
+
};
|
|
297
|
+
};
|
|
298
|
+
};
|
|
299
|
+
readonly id: true;
|
|
300
|
+
};
|
|
301
|
+
};
|
|
302
|
+
readonly cuid2: {
|
|
303
|
+
readonly kind: "fieldPreset";
|
|
304
|
+
readonly output: {
|
|
305
|
+
readonly codecId: "sql/char@1";
|
|
306
|
+
readonly typeParams: {
|
|
307
|
+
readonly length: 24;
|
|
308
|
+
};
|
|
309
|
+
readonly executionDefaults: {
|
|
310
|
+
readonly onCreate: {
|
|
311
|
+
readonly kind: "generator";
|
|
312
|
+
readonly id: "cuid2";
|
|
313
|
+
};
|
|
314
|
+
};
|
|
315
|
+
readonly id: true;
|
|
316
|
+
};
|
|
317
|
+
};
|
|
318
|
+
readonly ksuid: {
|
|
319
|
+
readonly kind: "fieldPreset";
|
|
320
|
+
readonly output: {
|
|
321
|
+
readonly codecId: "sql/char@1";
|
|
322
|
+
readonly typeParams: {
|
|
323
|
+
readonly length: 27;
|
|
324
|
+
};
|
|
325
|
+
readonly executionDefaults: {
|
|
326
|
+
readonly onCreate: {
|
|
327
|
+
readonly kind: "generator";
|
|
328
|
+
readonly id: "ksuid";
|
|
329
|
+
};
|
|
330
|
+
};
|
|
331
|
+
readonly id: true;
|
|
332
|
+
};
|
|
333
|
+
};
|
|
334
|
+
};
|
|
335
|
+
};
|
|
336
|
+
readonly type: {
|
|
337
|
+
readonly Raw: {
|
|
338
|
+
readonly kind: "typeConstructor";
|
|
339
|
+
readonly documentation: "A column of a type no other column type covers, written exactly as the database catalog prints it, such as Raw(sql`tsvector`). Its values are typed unknown, and its default is a sql expression.";
|
|
340
|
+
readonly args: readonly [{
|
|
341
|
+
readonly kind: "value";
|
|
342
|
+
readonly dataType: "sql/expression";
|
|
343
|
+
readonly name: "sql";
|
|
344
|
+
}];
|
|
345
|
+
readonly output: {
|
|
346
|
+
readonly codecId: "sql/raw@1";
|
|
347
|
+
readonly typeParams: {
|
|
348
|
+
readonly sql: {
|
|
349
|
+
readonly kind: "arg";
|
|
350
|
+
readonly index: 0;
|
|
351
|
+
};
|
|
352
|
+
};
|
|
353
|
+
};
|
|
354
|
+
};
|
|
355
|
+
};
|
|
356
|
+
readonly entityTypes: import("@prisma/orm-framework/components/authoring").AuthoringEntityTypeNamespace;
|
|
357
|
+
readonly pslBlockDescriptors: {
|
|
358
|
+
readonly enum: {
|
|
359
|
+
kind: "pslBlock";
|
|
360
|
+
keyword: string;
|
|
361
|
+
documentation: string;
|
|
362
|
+
discriminator: string;
|
|
363
|
+
name: {
|
|
364
|
+
required: true;
|
|
365
|
+
};
|
|
366
|
+
spec: typeof sqlFamilyEnumSpec;
|
|
367
|
+
attributes: {
|
|
368
|
+
type: () => import("@prisma/orm-framework/psl-parser").AttributeSpec<{
|
|
369
|
+
codecId: string;
|
|
370
|
+
}, import("@prisma/orm-framework/psl-parser").BlockAttributeCtx>;
|
|
371
|
+
};
|
|
372
|
+
};
|
|
373
|
+
};
|
|
374
|
+
readonly attributeSpecs: {
|
|
375
|
+
readonly model: {
|
|
376
|
+
readonly map: (_ctx: import("@prisma/orm-framework/psl-parser").AttributeSpecContext) => import("@prisma/orm-framework/psl-parser").AttributeSpec<{
|
|
377
|
+
name: string;
|
|
378
|
+
}, import("@prisma/orm-framework/psl-parser").ModelAttributeCtx>;
|
|
379
|
+
readonly id: (_ctx: import("@prisma/orm-framework/psl-parser").AttributeSpecContext) => import("@prisma/orm-framework/psl-parser").AttributeSpec<{
|
|
380
|
+
fields: string[];
|
|
381
|
+
readonly map?: string;
|
|
382
|
+
}, import("@prisma/orm-framework/psl-parser").ModelAttributeCtx>;
|
|
383
|
+
readonly unique: (_ctx: import("@prisma/orm-framework/psl-parser").AttributeSpecContext) => import("@prisma/orm-framework/psl-parser").AttributeSpec<{
|
|
384
|
+
fields: string[];
|
|
385
|
+
readonly map?: string;
|
|
386
|
+
}, import("@prisma/orm-framework/psl-parser").ModelAttributeCtx>;
|
|
387
|
+
readonly index: (ctx: import("@prisma/orm-framework/psl-parser").AttributeSpecContext) => import("@prisma/orm-framework/psl-parser").AttributeSpec<{
|
|
388
|
+
fields?: string[];
|
|
389
|
+
readonly expression?: import("@prisma/orm-framework/psl-parser").ParsedTypedValue;
|
|
390
|
+
readonly where?: import("@prisma/orm-framework/psl-parser").ParsedTypedValue;
|
|
391
|
+
readonly unique?: boolean;
|
|
392
|
+
readonly name?: string;
|
|
393
|
+
readonly map?: string;
|
|
394
|
+
readonly type?: string;
|
|
395
|
+
readonly options?: Record<string, string>;
|
|
396
|
+
}, import("@prisma/orm-framework/psl-parser").ModelAttributeCtx>;
|
|
397
|
+
readonly check: (ctx: import("@prisma/orm-framework/psl-parser").AttributeSpecContext) => import("@prisma/orm-framework/psl-parser").AttributeSpec<{
|
|
398
|
+
readonly expression: import("@prisma/orm-framework/psl-parser").ParsedTypedValue;
|
|
399
|
+
readonly name?: string;
|
|
400
|
+
readonly map?: string;
|
|
401
|
+
}, import("@prisma/orm-framework/psl-parser").ModelAttributeCtx>;
|
|
402
|
+
readonly control: (_ctx: import("@prisma/orm-framework/psl-parser").AttributeSpecContext) => import("@prisma/orm-framework/psl-parser").AttributeSpec<{
|
|
403
|
+
policy: "managed" | "tolerated" | "external" | "observed";
|
|
404
|
+
}, import("@prisma/orm-framework/psl-parser").ModelAttributeCtx>;
|
|
405
|
+
readonly discriminator: (_ctx: import("@prisma/orm-framework/psl-parser").AttributeSpecContext) => import("@prisma/orm-framework/psl-parser").AttributeSpec<{
|
|
406
|
+
field: string;
|
|
407
|
+
}, import("@prisma/orm-framework/psl-parser").ModelAttributeCtx>;
|
|
408
|
+
readonly base: (_ctx: import("@prisma/orm-framework/psl-parser").AttributeSpecContext) => import("@prisma/orm-framework/psl-parser").AttributeSpec<{
|
|
409
|
+
base: import("@prisma/orm-framework/psl-parser").ResolvedEntityReference<import("@prisma/orm-framework/psl-parser").ModelSymbol>;
|
|
410
|
+
value: import("@prisma/orm-framework/psl-parser").ParsedWrittenScalar;
|
|
411
|
+
}, import("@prisma/orm-framework/psl-parser").ModelAttributeCtx>;
|
|
412
|
+
};
|
|
413
|
+
readonly field: {
|
|
414
|
+
readonly map: (_ctx: import("@prisma/orm-framework/psl-parser").FieldAttributeSpecContext) => import("@prisma/orm-framework/psl-parser").AttributeSpec<{
|
|
415
|
+
name: string;
|
|
416
|
+
}, import("@prisma/orm-framework/psl-parser").FieldAttributeCtx>;
|
|
417
|
+
readonly id: (_ctx: import("@prisma/orm-framework/psl-parser").FieldAttributeSpecContext) => import("@prisma/orm-framework/psl-parser").AttributeSpec<{
|
|
418
|
+
readonly map?: string;
|
|
419
|
+
}, import("@prisma/orm-framework/psl-parser").FieldAttributeCtx>;
|
|
420
|
+
readonly unique: (_ctx: import("@prisma/orm-framework/psl-parser").FieldAttributeSpecContext) => import("@prisma/orm-framework/psl-parser").AttributeSpec<{
|
|
421
|
+
readonly map?: string;
|
|
422
|
+
}, import("@prisma/orm-framework/psl-parser").FieldAttributeCtx>;
|
|
423
|
+
readonly relation: (_ctx: import("@prisma/orm-framework/psl-parser").FieldAttributeSpecContext) => import("@prisma/orm-framework/psl-parser").AttributeSpec<{
|
|
424
|
+
name?: string;
|
|
425
|
+
readonly fields?: string[];
|
|
426
|
+
readonly references?: string[];
|
|
427
|
+
readonly map?: string;
|
|
428
|
+
readonly onDelete?: "NoAction" | "Restrict" | "Cascade" | "SetNull" | "SetDefault";
|
|
429
|
+
readonly onUpdate?: "NoAction" | "Restrict" | "Cascade" | "SetNull" | "SetDefault";
|
|
430
|
+
readonly index?: string | boolean;
|
|
431
|
+
}, import("@prisma/orm-framework/psl-parser").FieldAttributeCtx>;
|
|
432
|
+
readonly default: (ctx: import("@prisma/orm-framework/psl-parser").FieldAttributeSpecContext) => import("@prisma/orm-framework/psl-parser").AttributeSpec<{
|
|
433
|
+
value: import("@prisma/orm-framework/psl-parser").ParsedWrittenScalar | ParsedNullLiteral | import("@prisma/orm-framework/psl-parser").ParsedWrittenList<import("@prisma/orm-framework/psl-parser").ParsedWrittenScalar | ParsedNullLiteral> | DefaultFunctionCall | EnumMemberDefault | EnumMemberListDefault;
|
|
434
|
+
}, import("@prisma/orm-framework/psl-parser").AttributeCtx>;
|
|
435
|
+
readonly onCreate: (ctx: import("@prisma/orm-framework/psl-parser").FieldAttributeSpecContext) => import("@prisma/orm-framework/psl-parser").AttributeSpec<{
|
|
436
|
+
value: import("@prisma/orm-framework/psl-parser").TypedFuncCall;
|
|
437
|
+
}, import("@prisma/orm-framework/psl-parser").AttributeCtx>;
|
|
438
|
+
readonly onUpdate: (ctx: import("@prisma/orm-framework/psl-parser").FieldAttributeSpecContext) => import("@prisma/orm-framework/psl-parser").AttributeSpec<{
|
|
439
|
+
value: import("@prisma/orm-framework/psl-parser").TypedFuncCall;
|
|
440
|
+
}, import("@prisma/orm-framework/psl-parser").AttributeCtx>;
|
|
441
|
+
};
|
|
442
|
+
};
|
|
443
|
+
readonly dataTypes: Readonly<Record<string, import("@prisma/orm-framework/components/authoring").DataTypeAuthoringEntry>>;
|
|
444
|
+
};
|
|
445
|
+
readonly generatorFunctions: readonly [{
|
|
446
|
+
readonly name: "now";
|
|
447
|
+
readonly signature: {
|
|
448
|
+
readonly documentation: "Writes the current time, as the column's codec represents it.";
|
|
449
|
+
};
|
|
450
|
+
readonly bindings: readonly [];
|
|
451
|
+
}, {
|
|
452
|
+
readonly name: "uuid";
|
|
453
|
+
readonly bindings: readonly import("@prisma/orm-framework/components/components").GeneratorFunctionBinding[];
|
|
454
|
+
}, {
|
|
455
|
+
readonly name: "cuid";
|
|
456
|
+
readonly bindings: readonly import("@prisma/orm-framework/components/components").GeneratorFunctionBinding[];
|
|
457
|
+
}, {
|
|
458
|
+
readonly name: "ulid";
|
|
459
|
+
readonly signature: {
|
|
460
|
+
readonly documentation: "Generates a ULID when a value is not supplied.";
|
|
461
|
+
};
|
|
462
|
+
readonly bindings: readonly import("@prisma/orm-framework/components/components").GeneratorFunctionBinding[];
|
|
463
|
+
}, {
|
|
464
|
+
readonly name: "nanoid";
|
|
465
|
+
readonly bindings: readonly import("@prisma/orm-framework/components/components").GeneratorFunctionBinding[];
|
|
466
|
+
}, {
|
|
467
|
+
readonly name: "ksuid";
|
|
468
|
+
readonly signature: {
|
|
469
|
+
readonly documentation: "Generates a KSUID when a value is not supplied.";
|
|
470
|
+
};
|
|
471
|
+
readonly bindings: readonly import("@prisma/orm-framework/components/components").GeneratorFunctionBinding[];
|
|
472
|
+
}];
|
|
473
|
+
readonly controlMutationDefaults: {
|
|
474
|
+
defaultFunctionRegistry: Map<any, any>;
|
|
475
|
+
generatorDescriptors: readonly import("@prisma/orm-framework/components/control").MutationDefaultGeneratorDescriptor[];
|
|
476
|
+
};
|
|
477
|
+
readonly fieldLength: NonNullable<ControlFamilyDescriptor<'sql'>['fieldLength']>;
|
|
478
|
+
readonly pslDiagnostics: {
|
|
479
|
+
readonly describeUnsupportedAttribute: unknown;
|
|
480
|
+
readonly describeUnresolvedType: unknown;
|
|
481
|
+
};
|
|
482
|
+
create<TTargetId extends string>(stack: ControlStack<'sql', TTargetId>): SqlControlFamilyInstance;
|
|
483
|
+
}
|
|
484
|
+
//#endregion
|
|
485
|
+
//#region src/core/assembly.d.ts
|
|
486
|
+
declare function extractCodecControlHooks(descriptors: ReadonlyArray<TargetBoundComponentDescriptor<'sql', string>>): Map<string, CodecControlHooks>;
|
|
487
|
+
//#endregion
|
|
488
|
+
//#region src/core/control-target-descriptor.d.ts
|
|
489
|
+
/**
|
|
490
|
+
* One stack extension pack's already-assembled contract, paired with the
|
|
491
|
+
* `spaceId` its extension descriptor was registered under. `contract infer`
|
|
492
|
+
* needs both: the contract to know which elements the pack describes and to
|
|
493
|
+
* resolve the domain model a cross-space foreign key targets, the `spaceId`
|
|
494
|
+
* to qualify the emitted relation type (`<spaceId>:<namespace>.<Model>`).
|
|
495
|
+
* Neither the contract JSON nor the framework's `ContractSpace` wrapper
|
|
496
|
+
* self-declares its owning space id — it is only known from the extension
|
|
497
|
+
* descriptor that carries the `ContractSpace`.
|
|
498
|
+
*/
|
|
499
|
+
interface SqlDescribedContractSpace {
|
|
500
|
+
readonly spaceId: string;
|
|
501
|
+
readonly contract: Contract<SqlStorage>;
|
|
502
|
+
}
|
|
503
|
+
/**
|
|
504
|
+
* The parts of the composed stack a target builds a PSL document with. The PSL contract source reads the document with the same parts, so the target writes a column type as a type constructor the stack contributes, a literal default through the data type of the column's codec, and a generated value as a default function or field preset the stack contributes, and all of them read back.
|
|
505
|
+
*/
|
|
506
|
+
interface SqlPslBuildContext {
|
|
507
|
+
readonly authoringContributions: Pick<AssembledAuthoringContributions, 'type' | 'field'>;
|
|
508
|
+
readonly codecLookup: CodecLookupWithDescriptors;
|
|
509
|
+
readonly dataTypes: DataTypeSupport;
|
|
510
|
+
/** The generator functions of the stack, which write each generator as `@onCreate(fn(...))` or `@onUpdate(fn(...))`. */
|
|
511
|
+
readonly generatorFunctions: GeneratorFunctionRegistry;
|
|
512
|
+
/** For each generator id the stack registers, the id of the component that registers it, when that component has one. */
|
|
513
|
+
readonly componentIdsByGenerator: ReadonlyMap<string, string | undefined>;
|
|
514
|
+
}
|
|
515
|
+
interface SqlControlTargetDescriptor<TTargetId extends string, TTargetDetails, TContract extends Contract<SqlStorage> = Contract<SqlStorage>> extends MigratableTargetDescriptor<'sql', TTargetId, SqlControlFamilyInstance> {
|
|
516
|
+
readonly queryOperations?: () => SqlOperationDescriptors;
|
|
517
|
+
/**
|
|
518
|
+
* JSON ⇄ class boundary for the SQL target's contract. The descriptor
|
|
519
|
+
* composes a concrete `SqlContractSerializerBase` subclass; the rest
|
|
520
|
+
* of the control stack reaches `descriptor.contractSerializer` rather
|
|
521
|
+
* than importing a per-target deserialization function.
|
|
522
|
+
*/
|
|
523
|
+
readonly contractSerializer: ContractSerializer<TContract>;
|
|
524
|
+
/**
|
|
525
|
+
* Per-target schema verifier walking the contract against
|
|
526
|
+
* `SqlSchemaIR`. The descriptor composes a concrete
|
|
527
|
+
* `SqlSchemaVerifierBase` subclass; the family-shared walk lives on
|
|
528
|
+
* the base, the target-specific dispatch on the subclass.
|
|
529
|
+
*/
|
|
530
|
+
readonly schemaVerifier: SchemaVerifier<TContract, SqlSchemaIR>;
|
|
531
|
+
/**
|
|
532
|
+
* Database→PSL inference for `contract infer`. Target logic (owns the dialect
|
|
533
|
+
* maps), so it lives on the descriptor. Optional: targets without `contract
|
|
534
|
+
* infer` (Mongo) omit it, and the family instance throws when it is absent.
|
|
535
|
+
* `context` is the stack `contract emit` reads the inferred schema with, so a
|
|
536
|
+
* default is written in the form the codec of the column's type constructor
|
|
537
|
+
* reads back. `describedContracts` carries the stack's extension packs'
|
|
538
|
+
* already-assembled contracts (each paired with its `spaceId`) so the inferrer
|
|
539
|
+
* can omit elements they already describe, and can qualify a cross-space
|
|
540
|
+
* relation with the owning pack's space id.
|
|
541
|
+
*/
|
|
542
|
+
readonly inferPslContract?: (schema: SqlSchemaIRNode, context: SqlPslBuildContext, describedContracts?: readonly SqlDescribedContractSpace[]) => Promise<PslDocumentAst>;
|
|
543
|
+
/**
|
|
544
|
+
* Builds the PSL document of a contract, which `contract print` renders as text. `contract` must be one `contractSerializer.deserializeContract` accepted; the hook does not check its structure again. Like {@link inferPslContract} it produces a PSL document, but from an assembled contract and the stack parts in `context`. The document reads back as the same contract; the hook throws `CONTRACT.PRINT_UNSUPPORTED` for a contract PSL cannot express. The implementation sits in the target, though most of it inverts this family's PSL reader; only its column types, defaults, native enums, derived checks and row-level security are dialect logic. Optional: targets without `contract print` omit it, and the family instance throws when it is absent.
|
|
545
|
+
*/
|
|
546
|
+
readonly buildPslContract?: (contract: TContract, context: SqlPslBuildContext) => PslDocumentAst;
|
|
547
|
+
/**
|
|
548
|
+
* The full-tree node diff the family verify verdict derives from —
|
|
549
|
+
* expected-tree derivation, pre-diff normalization, the generic differ,
|
|
550
|
+
* and ownership scoping, all target-side. The family applies strict
|
|
551
|
+
* gating + control-policy disposition over the returned issues; verify
|
|
552
|
+
* rejects when a surviving issue is a failure.
|
|
553
|
+
*/
|
|
554
|
+
readonly diffSchema: SqlSchemaDiffFn;
|
|
555
|
+
/**
|
|
556
|
+
* Classifies a diff-tree node's `nodeKind` into its framework-neutral
|
|
557
|
+
* {@link DiffSubjectGranularity} — the target owns the full node vocabulary
|
|
558
|
+
* that appears in its diff tree (its own kinds plus the relational kinds it
|
|
559
|
+
* delegates to), so it is the one place that can resolve this. The family
|
|
560
|
+
* verdict calls it inline per issue (never stamping the result); the
|
|
561
|
+
* framework aggregate's unclaimed-elements sweep reaches the same
|
|
562
|
+
* classifier via the family instance's `classifySubjectGranularity`
|
|
563
|
+
* capability.
|
|
564
|
+
*/
|
|
565
|
+
readonly classifySubjectGranularity: (nodeKind: string) => DiffSubjectGranularity;
|
|
566
|
+
/**
|
|
567
|
+
* Classifies a diff-tree node's `nodeKind` into its storage `entityKind` —
|
|
568
|
+
* the same vocabulary the contract storage's `entries` dictionary keys use
|
|
569
|
+
* (e.g. `'table'`). Sibling of `classifySubjectGranularity`, resolved the
|
|
570
|
+
* same way: the target owns the full node vocabulary, so it is the one
|
|
571
|
+
* place that can resolve this. `undefined` for a node kind with no
|
|
572
|
+
* storage entity of its own (a column, an index, …). The framework
|
|
573
|
+
* aggregate's unclaimed-elements sweep reaches this via the family
|
|
574
|
+
* instance's `classifyEntityKind` capability, so it never hardcodes a
|
|
575
|
+
* family entity kind.
|
|
576
|
+
*/
|
|
577
|
+
readonly classifyEntityKind: (nodeKind: string) => string | undefined;
|
|
578
|
+
createPlanner(adapter: SqlControlAdapter<TTargetId>): SqlMigrationPlanner<TTargetDetails>;
|
|
579
|
+
createRunner(family: SqlControlFamilyInstance): SqlMigrationRunner<TTargetDetails>;
|
|
580
|
+
}
|
|
581
|
+
//#endregion
|
|
582
|
+
//#region src/core/default-functions.d.ts
|
|
583
|
+
type SqlDefaultFunctionName = 'autoincrement' | 'now';
|
|
584
|
+
/**
|
|
585
|
+
* The SQL family's default functions, each a database default: `autoincrement()` and `now()`. A value the client generates is a generator function, written `@onCreate(...)`.
|
|
586
|
+
*/
|
|
587
|
+
declare function sqlDefaultFunctions(): Readonly<Record<SqlDefaultFunctionName, ControlMutationDefaultEntry>>;
|
|
588
|
+
//#endregion
|
|
589
|
+
//#region src/core/migrations/contract-to-schema-ir.d.ts
|
|
590
|
+
/**
|
|
591
|
+
* Target-supplied hook that names a contract's expression default the way the target's introspection names the same database function, such as `now()` for `CURRENT_TIMESTAMP`, so the two compare equal. When omitted, the contract's default is the resolved default unchanged.
|
|
592
|
+
*/
|
|
593
|
+
type DefaultResolver = (def: ColumnDefault, column: DefaultResolverColumn) => ColumnDefault;
|
|
594
|
+
/** The column a {@link DefaultResolver} names a default for: its type as written, and whether it is a list. */
|
|
595
|
+
interface DefaultResolverColumn {
|
|
596
|
+
readonly typeText: string;
|
|
597
|
+
readonly many: boolean;
|
|
598
|
+
}
|
|
599
|
+
/**
|
|
600
|
+
* Detects destructive changes between two contract storages.
|
|
601
|
+
*
|
|
602
|
+
* The additive-only planner silently ignores removals (tables, columns).
|
|
603
|
+
* This function detects those removals so callers can report them as conflicts
|
|
604
|
+
* rather than silently producing an empty plan.
|
|
605
|
+
*
|
|
606
|
+
* Returns an empty array if no destructive changes are found.
|
|
607
|
+
*/
|
|
608
|
+
declare function detectDestructiveChanges(from: SqlStorage | null, to: SqlStorage): readonly MigrationPlannerConflict[];
|
|
609
|
+
/** Each column's type is written from the data type its codec represents, found through the lookups. */
|
|
610
|
+
interface ContractToSchemaIROptions extends TypeLookups {
|
|
611
|
+
readonly annotationNamespace: string;
|
|
612
|
+
readonly resolveDefault?: DefaultResolver;
|
|
613
|
+
}
|
|
614
|
+
/**
|
|
615
|
+
* Converts the tables of a single namespace into a `SqlSchemaIR`, keyed by
|
|
616
|
+
* table name within that namespace. Unlike {@link contractToSchemaIR}, which
|
|
617
|
+
* flattens every namespace's tables into one bare-keyed record (and throws on a
|
|
618
|
+
* cross-namespace name collision), this scopes the table iteration to one
|
|
619
|
+
* namespace so the same table name can exist in two schemas.
|
|
620
|
+
*
|
|
621
|
+
* The full `storage` is still passed to `convertTable`, so value-set / enum /
|
|
622
|
+
* type resolution that legitimately spans namespaces is unaffected. Foreign
|
|
623
|
+
* keys are built purely from the FK descriptor (`fk.target`), so cross-namespace
|
|
624
|
+
* FKs survive per-namespace conversion. The `annotations` block (storage-type
|
|
625
|
+
* derived) is omitted here — the per-namespace tree consumer reads only the
|
|
626
|
+
* per-table fields.
|
|
627
|
+
*/
|
|
628
|
+
declare function contractNamespaceToSchemaIR(storage: SqlStorage, namespaceId: string, options: ContractToSchemaIROptions): SqlSchemaIR;
|
|
629
|
+
/**
|
|
630
|
+
* Converts a `Contract` to `SqlSchemaIR`.
|
|
631
|
+
*
|
|
632
|
+
* Reads `contract.storage` for tables.
|
|
633
|
+
*
|
|
634
|
+
* Drops codec metadata (`codecId`) since the schema IR only represents
|
|
635
|
+
* structural information. Each column's type is written from the data type its codec
|
|
636
|
+
* represents, with its parameters (e.g. `character` + `{ length: 36 }` → `character(36)`),
|
|
637
|
+
* so the resulting IR compares correctly against the "to" contract during planning.
|
|
638
|
+
*
|
|
639
|
+
* Returns an empty schema IR when `contract` is `null` (new project).
|
|
640
|
+
*/
|
|
641
|
+
declare function contractToSchemaIR(contract: Contract<SqlStorage> | null, options: ContractToSchemaIROptions): SqlSchemaIR;
|
|
642
|
+
//#endregion
|
|
643
|
+
//#region src/core/migrations/control-policy.d.ts
|
|
644
|
+
/**
|
|
645
|
+
* The target object a control policy governs for a single planner call,
|
|
646
|
+
* resolved from the target's own IR. `undefined` means the call's target
|
|
647
|
+
* object could not be positively established — a fail-closed signal: any
|
|
648
|
+
* policy stricter than `managed` drops such a call rather than emitting it.
|
|
649
|
+
*
|
|
650
|
+
* The object identity is a generic storage coordinate — `(entityKind,
|
|
651
|
+
* entityName)`, absent for a whole-namespace subject — never a target-specific
|
|
652
|
+
* `table`/`typeName` field. The family reasons about the coordinate for policy
|
|
653
|
+
* and deduplication; the target owns any vocabulary (table vs enum) when it
|
|
654
|
+
* renders a suppression.
|
|
655
|
+
*/
|
|
656
|
+
interface ControlPolicySubject {
|
|
657
|
+
readonly namespaceId: string;
|
|
658
|
+
readonly entityKind?: string;
|
|
659
|
+
readonly entityName?: string;
|
|
660
|
+
readonly column?: string;
|
|
661
|
+
/**
|
|
662
|
+
* Names the RLS policy when the suppressed thing is a policy-level unit
|
|
663
|
+
* on the subject's table (mirrors `column`) — the report must say which
|
|
664
|
+
* policy, not just which table.
|
|
665
|
+
*/
|
|
666
|
+
readonly rlsPolicy?: string;
|
|
667
|
+
readonly explicitNodeControlPolicy?: ControlPolicy;
|
|
668
|
+
/**
|
|
669
|
+
* Whether the call creates a whole, previously-absent top-level storage
|
|
670
|
+
* object (e.g. a table or an enum/type), as opposed to modifying an
|
|
671
|
+
* existing object. This is the only thing `tolerated` permits: it is a
|
|
672
|
+
* create-if-absent policy, so an op that touches an existing object — add
|
|
673
|
+
* column, add index/constraint, alter, drop — is never allowed under it.
|
|
674
|
+
*/
|
|
675
|
+
readonly createsNewObject: boolean;
|
|
676
|
+
}
|
|
677
|
+
/**
|
|
678
|
+
* The structured record a control-policy partition emits for one suppressed
|
|
679
|
+
* subject or call. It carries only raw data — no strings, no vocabulary — so
|
|
680
|
+
* the consumer (the target) renders the user-facing message itself:
|
|
681
|
+
*
|
|
682
|
+
* - `subject` — the suppressed subject (its coordinate + namespace), or
|
|
683
|
+
* `undefined` when the subject could not be resolved (fail-closed).
|
|
684
|
+
* - `policy` — the effective control policy that caused the suppression.
|
|
685
|
+
* - `factoryName` — the resolved creation factory name if the suppressed thing
|
|
686
|
+
* was a whole-object creation (e.g. `createTable`), else `undefined`. The
|
|
687
|
+
* family never invents a verb for a modification that produced no call.
|
|
688
|
+
* - `createsNewObject` — whether the suppressed thing was object creation.
|
|
689
|
+
*/
|
|
690
|
+
interface SuppressionRecord {
|
|
691
|
+
readonly subject: ControlPolicySubject | undefined;
|
|
692
|
+
readonly policy: ControlPolicy;
|
|
693
|
+
readonly factoryName: string | undefined;
|
|
694
|
+
readonly createsNewObject: boolean;
|
|
695
|
+
}
|
|
696
|
+
/**
|
|
697
|
+
* Partition the calls produced for a single set of subjects into those the
|
|
698
|
+
* effective control policy permits (`kept`) and a list of
|
|
699
|
+
* {@link SuppressionRecord}s describing the suppressed calls.
|
|
700
|
+
*
|
|
701
|
+
* **Prefer {@link partitionIssuesByControlPolicy}** for the schema-issue
|
|
702
|
+
* pipeline: it filters subjects out of the planner's *input* so the planner
|
|
703
|
+
* never has to reason about un-modeled state on `external`/`observed`
|
|
704
|
+
* subjects. This call-level helper remains for paths that bypass the issue
|
|
705
|
+
* pipeline — currently the codec-emitted field-event ops, which originate
|
|
706
|
+
* from declared contract fields rather than from introspected schema state
|
|
707
|
+
* and therefore cannot trip the diff engine.
|
|
708
|
+
*/
|
|
709
|
+
declare function partitionCallsByControlPolicy<TCall>(options: {
|
|
710
|
+
readonly calls: readonly TCall[];
|
|
711
|
+
readonly contract: Contract<SqlStorage>;
|
|
712
|
+
readonly resolveControlPolicySubject: (call: TCall) => ControlPolicySubject | undefined;
|
|
713
|
+
readonly resolveFactoryName: (call: TCall) => string;
|
|
714
|
+
}): {
|
|
715
|
+
readonly kept: readonly TCall[];
|
|
716
|
+
readonly suppressions: readonly SuppressionRecord[];
|
|
717
|
+
};
|
|
718
|
+
/**
|
|
719
|
+
* Partition a list of schema-issue-shaped inputs by the effective control
|
|
720
|
+
* policy of each issue's subject *before* the planner is invoked.
|
|
721
|
+
*
|
|
722
|
+
* `plannable` is the list of issues whose subject's effective policy permits
|
|
723
|
+
* the planner to act on them (`managed`, or `tolerated` for whole-object
|
|
724
|
+
* creation issues only). Issues for `external`/`observed` subjects, and
|
|
725
|
+
* non-creation issues for `tolerated` subjects, are dropped from the planner's
|
|
726
|
+
* input entirely — they never enter introspection-driven planning, never feed
|
|
727
|
+
* the diff engine, and never produce DDL calls that would have to be
|
|
728
|
+
* post-filtered. This sidesteps a class of failure where the diff engine
|
|
729
|
+
* cannot reason about the live shape of a subject the user marked as
|
|
730
|
+
* out-of-scope (`external`).
|
|
731
|
+
*
|
|
732
|
+
* `suppressions` is one {@link SuppressionRecord} per suppressed subject (not
|
|
733
|
+
* per suppressed issue). Its `factoryName` is the creation factory name when any
|
|
734
|
+
* of the subject's issues is whole-object creation (e.g. `createTable`), else
|
|
735
|
+
* `undefined` — the family never invents a modification verb for an op that
|
|
736
|
+
* produced no call; the target renders the message.
|
|
737
|
+
*
|
|
738
|
+
* Unresolved-subject issues (`resolveControlPolicySubject` returns
|
|
739
|
+
* `undefined`) emit one record each; they cannot be deduplicated because they
|
|
740
|
+
* carry no subject coordinate.
|
|
741
|
+
*/
|
|
742
|
+
declare function partitionIssuesByControlPolicy<TIssue>(options: {
|
|
743
|
+
readonly issues: readonly TIssue[];
|
|
744
|
+
readonly contract: Contract<SqlStorage>;
|
|
745
|
+
/**
|
|
746
|
+
* Resolve the subject targeted by this issue (or `undefined` to fail-closed:
|
|
747
|
+
* any policy stricter than `managed` drops the issue).
|
|
748
|
+
*/
|
|
749
|
+
readonly resolveControlPolicySubject: (issue: TIssue) => ControlPolicySubject | undefined;
|
|
750
|
+
/**
|
|
751
|
+
* Resolve a creation factoryName for this issue if it represents the
|
|
752
|
+
* absence of the whole top-level object (e.g. `'createTable'` for a
|
|
753
|
+
* missing-table issue). When the issue describes a modification to an
|
|
754
|
+
* existing object, return `undefined`. Both decisions feed off this signal:
|
|
755
|
+
*
|
|
756
|
+
* 1. Under `tolerated`, only issues whose `resolveCreationFactoryName`
|
|
757
|
+
* returns a value flow into the planner (create-if-absent).
|
|
758
|
+
* 2. A suppressed subject's record carries the resolved creation factoryName
|
|
759
|
+
* when it has at least one creation-flavoured issue, else `undefined`.
|
|
760
|
+
*/
|
|
761
|
+
readonly resolveCreationFactoryName: (issue: TIssue) => string | undefined;
|
|
762
|
+
}): {
|
|
763
|
+
readonly plannable: readonly TIssue[];
|
|
764
|
+
readonly suppressions: readonly SuppressionRecord[];
|
|
765
|
+
};
|
|
766
|
+
//#endregion
|
|
767
|
+
//#region src/core/migrations/schema-tables.d.ts
|
|
768
|
+
/**
|
|
769
|
+
* The tables a schema has, addressed by the contract's namespace ids: the schema a plan starts
|
|
770
|
+
* from, or the schema a migration's earlier renames leave behind.
|
|
771
|
+
*/
|
|
772
|
+
interface SchemaTables {
|
|
773
|
+
hasTable(namespaceId: string, table: string): boolean;
|
|
774
|
+
hasColumn(namespaceId: string, table: string, column: string): boolean;
|
|
775
|
+
/**
|
|
776
|
+
* The namespace's tables the database takes for `table`: the table itself where names compare
|
|
777
|
+
* exactly, and every table whose name differs only in case where the database ignores case.
|
|
778
|
+
*/
|
|
779
|
+
tablesNamed(namespaceId: string, table: string): readonly string[];
|
|
780
|
+
/**
|
|
781
|
+
* The table's columns the database takes for `column`: the column itself where names compare
|
|
782
|
+
* exactly, and every column whose name differs only in case where the database ignores case.
|
|
783
|
+
*/
|
|
784
|
+
columnsNamed(namespaceId: string, table: string, column: string): readonly string[];
|
|
785
|
+
namespacesWithTable(table: string): readonly string[];
|
|
786
|
+
hasNamespace(namespaceId: string): boolean;
|
|
787
|
+
}
|
|
788
|
+
//#endregion
|
|
789
|
+
//#region src/core/migrations/resolve-column-rename.d.ts
|
|
790
|
+
declare const COLUMN_RENAME_UNMATCHED_CODE = "MIGRATION.COLUMN_RENAME_UNMATCHED";
|
|
791
|
+
/**
|
|
792
|
+
* A column rename as a `renameColumn` call states it: `namespaceId` is `undefined` when the
|
|
793
|
+
* namespace is left to the contracts.
|
|
794
|
+
*/
|
|
795
|
+
interface ColumnRenameRequest {
|
|
796
|
+
readonly namespaceId: string | undefined;
|
|
797
|
+
readonly table: string;
|
|
798
|
+
readonly from: string;
|
|
799
|
+
readonly to: string;
|
|
800
|
+
}
|
|
801
|
+
/** A column rename on a table in a known namespace. */
|
|
802
|
+
interface ColumnRename {
|
|
803
|
+
readonly namespaceId: string;
|
|
804
|
+
readonly table: string;
|
|
805
|
+
readonly from: string;
|
|
806
|
+
readonly to: string;
|
|
807
|
+
}
|
|
808
|
+
/**
|
|
809
|
+
* Refuses a `renameColumn` call that does not match the migration's contracts, with
|
|
810
|
+
* `MIGRATION.COLUMN_RENAME_UNMATCHED`.
|
|
811
|
+
*/
|
|
812
|
+
declare function unmatchedColumnRename(rename: ColumnRenameRequest, reason: string): StructuredError;
|
|
813
|
+
/**
|
|
814
|
+
* Resolves a column a migration renames with {@link checkColumnRename}, refusing a mismatch with
|
|
815
|
+
* `MIGRATION.COLUMN_RENAME_UNMATCHED`.
|
|
816
|
+
*/
|
|
817
|
+
declare function resolveColumnRenameAgainst(previous: SchemaTables, endContract: Contract<SqlStorage>, rename: ColumnRenameRequest): Result<ColumnRename, StructuredError>;
|
|
818
|
+
//#endregion
|
|
819
|
+
//#region src/core/migrations/resolve-table-rename.d.ts
|
|
820
|
+
/**
|
|
821
|
+
* A table rename as a `renameTable` call or a guard's advice states it: `namespaceId` is
|
|
822
|
+
* `undefined` when the namespace is left to the contracts.
|
|
823
|
+
*/
|
|
824
|
+
interface TableRenameRequest {
|
|
825
|
+
readonly namespaceId: string | undefined;
|
|
826
|
+
readonly from: string;
|
|
827
|
+
readonly to: string;
|
|
828
|
+
}
|
|
829
|
+
/** A table rename in a known namespace. */
|
|
830
|
+
interface TableRename {
|
|
831
|
+
readonly namespaceId: string;
|
|
832
|
+
readonly from: string;
|
|
833
|
+
readonly to: string;
|
|
834
|
+
}
|
|
835
|
+
/**
|
|
836
|
+
* Refuses a `renameTable` call that does not match the migration's contracts, with
|
|
837
|
+
* `MIGRATION.TABLE_RENAME_UNMATCHED`.
|
|
838
|
+
*/
|
|
839
|
+
declare function unmatchedTableRename(rename: TableRenameRequest, reason: string): StructuredError;
|
|
840
|
+
/**
|
|
841
|
+
* Resolves a table a migration renames with {@link checkTableRename}, refusing a mismatch with
|
|
842
|
+
* `MIGRATION.TABLE_RENAME_UNMATCHED`.
|
|
843
|
+
*/
|
|
844
|
+
declare function resolveTableRenameAgainst(previous: SchemaTables, endContract: Contract<SqlStorage>, rename: TableRenameRequest): Result<TableRename, StructuredError>;
|
|
845
|
+
//#endregion
|
|
846
|
+
//#region src/core/migrations/field-event-planner.d.ts
|
|
847
|
+
interface PlanFieldEventOperationsOptions {
|
|
848
|
+
/**
|
|
849
|
+
* Prior contract the planner is diffing against. `null` for first emits
|
|
850
|
+
* (every field is treated as added).
|
|
851
|
+
*/
|
|
852
|
+
readonly priorContract: Contract<SqlStorage> | null;
|
|
853
|
+
/**
|
|
854
|
+
* New contract the user just authored.
|
|
855
|
+
*/
|
|
856
|
+
readonly newContract: Contract<SqlStorage>;
|
|
857
|
+
/**
|
|
858
|
+
* Codec-id keyed map of control hooks, as produced by
|
|
859
|
+
* {@link import('./assembly').extractCodecControlHooks}. Hooks carry
|
|
860
|
+
* `unknown` target details after extraction; the caller casts the
|
|
861
|
+
* helper's returned ops to its target's `SqlMigrationPlanOperation`
|
|
862
|
+
* specialisation at the integration boundary, mirroring how
|
|
863
|
+
* `storageTypePlanCallStrategy` lifts `planTypeOperations` results into
|
|
864
|
+
* `RawSqlCall`.
|
|
865
|
+
*/
|
|
866
|
+
readonly codecHooks: ReadonlyMap<string, CodecControlHooks>;
|
|
867
|
+
/** The stack's data types, which say what each column is stored as. */
|
|
868
|
+
readonly dataTypes: Pick<DataTypeLookup, 'get'>;
|
|
869
|
+
/**
|
|
870
|
+
* The table renames the plan applies. A column under a renamed table's old name is the same
|
|
871
|
+
* column under its new name, so a rename alone fires no event.
|
|
872
|
+
*/
|
|
873
|
+
readonly tableRenames: readonly TableRename[];
|
|
874
|
+
/**
|
|
875
|
+
* The column renames the plan applies, each on the table under the name it has after the table
|
|
876
|
+
* renames. A column under its old name is the same column under its new name.
|
|
877
|
+
*/
|
|
878
|
+
readonly columnRenames: readonly ColumnRename[];
|
|
879
|
+
}
|
|
880
|
+
/** A call a codec hook returned, with the column of the field event it was returned for. */
|
|
881
|
+
interface FieldEventCall {
|
|
882
|
+
readonly call: OpFactoryCall;
|
|
883
|
+
readonly namespaceId: string;
|
|
884
|
+
/** The table and column as the new contract names them. */
|
|
885
|
+
readonly tableName: string;
|
|
886
|
+
readonly columnName: string;
|
|
887
|
+
}
|
|
888
|
+
declare function planFieldEventOperations(options: PlanFieldEventOperationsOptions): readonly OpFactoryCall[];
|
|
889
|
+
/** The calls the codec hooks return, each with the field event's column. */
|
|
890
|
+
declare function planFieldEventCalls(options: PlanFieldEventOperationsOptions): readonly FieldEventCall[];
|
|
891
|
+
//#endregion
|
|
892
|
+
//#region src/core/migrations/field-of-column.d.ts
|
|
893
|
+
/**
|
|
894
|
+
* The field of `contract` that stores `column` of `table`, or undefined when no field stores it or
|
|
895
|
+
* tables of two storage namespaces share the table's name.
|
|
896
|
+
*/
|
|
897
|
+
declare function fieldOfColumn(contract: ContractWithDomain, table: string, column: string): MigrationSubject | undefined;
|
|
898
|
+
//#endregion
|
|
899
|
+
//#region src/core/migrations/operation-storage-name.d.ts
|
|
900
|
+
/**
|
|
901
|
+
* The name the database knows an operation's object by, read from the operation's target
|
|
902
|
+
* details: `schema.table.column` for a column, `schema.name` for anything else, without the
|
|
903
|
+
* schema in the unbound namespace. An operation without details is named by its id.
|
|
904
|
+
*/
|
|
905
|
+
declare function storageNameOfOperation(operation: MigrationPlanOperation): string;
|
|
906
|
+
//#endregion
|
|
907
|
+
//#region src/core/migrations/statement-planning.d.ts
|
|
908
|
+
/** Where a model's rows live: a table in a storage namespace. */
|
|
909
|
+
interface ModelTable {
|
|
910
|
+
readonly namespaceId: string;
|
|
911
|
+
readonly table: string;
|
|
912
|
+
}
|
|
913
|
+
/** What a model rename does to storage. */
|
|
914
|
+
type ModelStorageEffect = {
|
|
915
|
+
readonly kind: 'unchanged';
|
|
916
|
+
} | {
|
|
917
|
+
readonly kind: 'renameTable';
|
|
918
|
+
readonly rename: TableRename;
|
|
919
|
+
} | {
|
|
920
|
+
readonly kind: 'moveNamespace';
|
|
921
|
+
readonly from: ModelTable;
|
|
922
|
+
readonly to: ModelTable;
|
|
923
|
+
};
|
|
924
|
+
/** What a field rename does to storage. */
|
|
925
|
+
type FieldStorageEffect = {
|
|
926
|
+
readonly kind: 'unchanged';
|
|
927
|
+
} | {
|
|
928
|
+
readonly kind: 'renameColumn';
|
|
929
|
+
/** The origin model's table, as the origin contract names it. */
|
|
930
|
+
readonly table: ModelTable;
|
|
931
|
+
readonly from: string;
|
|
932
|
+
readonly to: string;
|
|
933
|
+
};
|
|
934
|
+
/** A model the contract stores in no table, so a statement on it has no storage effect. */
|
|
935
|
+
interface NoTable {
|
|
936
|
+
readonly kind: 'noTable';
|
|
937
|
+
readonly model: ModelCoordinate;
|
|
938
|
+
}
|
|
939
|
+
/** A field stored in a column on one side of a statement only, which no rename can map. */
|
|
940
|
+
interface ColumnOnOneSide {
|
|
941
|
+
readonly kind: 'columnOnOneSide';
|
|
942
|
+
}
|
|
943
|
+
/**
|
|
944
|
+
* The storage effect of a model rename: the origin model's table compared with the destination
|
|
945
|
+
* model's. Equal tables mean the rename needs no storage change.
|
|
946
|
+
*/
|
|
947
|
+
declare function modelRenameStorageEffect(statement: ResolvedModelRenameStatement, fromContract: ContractWithDomain, contract: ContractWithDomain): Result<ModelStorageEffect, NoTable>;
|
|
948
|
+
/**
|
|
949
|
+
* The storage effect of a field rename: the origin field's column compared with the destination
|
|
950
|
+
* field's. A relation field has no column on either side, and equal columns need no change.
|
|
951
|
+
*/
|
|
952
|
+
declare function fieldRenameStorageEffect(statement: ResolvedFieldRenameStatement, fromContract: ContractWithDomain, contract: ContractWithDomain): Result<FieldStorageEffect, NoTable | ColumnOnOneSide>;
|
|
953
|
+
/** A call that lowers to one operation, such as a companion of a rename. */
|
|
954
|
+
interface SingleOperationCall {
|
|
955
|
+
readonly operationClass: MigrationOperationClass;
|
|
956
|
+
}
|
|
957
|
+
/**
|
|
958
|
+
* A call that lowers to its own operation, then each companion's, in that order: a table or column
|
|
959
|
+
* rename, whether a statement plans it or a hand-written migration calls it. A table move has none.
|
|
960
|
+
*/
|
|
961
|
+
interface CallWithCompanions extends SingleOperationCall {
|
|
962
|
+
readonly companions: readonly SingleOperationCall[];
|
|
963
|
+
}
|
|
964
|
+
/** A namespace renamed: `from` names it in the origin contract and `to` in the destination. */
|
|
965
|
+
interface NamespaceRename {
|
|
966
|
+
readonly from: string;
|
|
967
|
+
readonly to: string;
|
|
968
|
+
}
|
|
969
|
+
/** Why a target cannot carry out a statement, in its words. */
|
|
970
|
+
interface TargetRefusal {
|
|
971
|
+
readonly reason: string;
|
|
972
|
+
readonly fix: string;
|
|
973
|
+
}
|
|
974
|
+
/** A table moving, under its own name, from one storage namespace to another. */
|
|
975
|
+
interface TableMove {
|
|
976
|
+
readonly table: string;
|
|
977
|
+
readonly from: string;
|
|
978
|
+
readonly to: string;
|
|
979
|
+
}
|
|
980
|
+
/** How a user renames a table by hand, written for the target. */
|
|
981
|
+
interface TableRenameByHand {
|
|
982
|
+
/** The `renameTable` call a user writes in `migration.ts` to make `rename` by hand. */
|
|
983
|
+
renderTableRename(rename: TableRename): string;
|
|
984
|
+
/** The SQL statements a user runs against the database to make `rename` by hand. */
|
|
985
|
+
tableRenameByHand(rename: TableRename): readonly string[];
|
|
986
|
+
}
|
|
987
|
+
/** What a target with several namespaces supplies for namespace renames and model moves. */
|
|
988
|
+
interface NamespaceStatementTarget<TCall extends CallWithCompanions> {
|
|
989
|
+
/**
|
|
990
|
+
* The calls a table moving into `namespaceId` needs first, such as creating the namespace: none
|
|
991
|
+
* when the working schema has it.
|
|
992
|
+
*/
|
|
993
|
+
createNamespaceCalls(namespaceId: string): readonly TCall[];
|
|
994
|
+
/** The call that moves a table to another namespace, computed against the working schema. */
|
|
995
|
+
moveTableCall(move: TableMove): TCall;
|
|
996
|
+
/** Why the target cannot rename the namespace, or `undefined` when it can. */
|
|
997
|
+
namespaceRenameRefusal(rename: NamespaceRename): TargetRefusal | undefined;
|
|
998
|
+
/** The call that renames a namespace, computed against the working schema. */
|
|
999
|
+
renameNamespaceCall(rename: NamespaceRename): TCall;
|
|
1000
|
+
}
|
|
1001
|
+
/** What a target supplies for planning statements against its working schema. */
|
|
1002
|
+
interface StatementPlanningTarget<TCall extends CallWithCompanions> extends TableRenameByHand {
|
|
1003
|
+
/** The tables of the working schema as earlier statements have left it. */
|
|
1004
|
+
tables(): SchemaTables;
|
|
1005
|
+
/** The call that renames a table, with its companions, computed against the working schema. */
|
|
1006
|
+
renameTableCall(rename: TableRename): TCall;
|
|
1007
|
+
/** Namespace renames and model moves; a target that keeps every table in one namespace has none. */
|
|
1008
|
+
readonly namespaces?: NamespaceStatementTarget<TCall> | undefined;
|
|
1009
|
+
/** The call that renames a column, with its companions, computed against the working schema. */
|
|
1010
|
+
renameColumnCall(rename: ColumnRename): TCall;
|
|
1011
|
+
/** Applies a call to the working schema. */
|
|
1012
|
+
apply(call: TCall): void;
|
|
1013
|
+
}
|
|
1014
|
+
/**
|
|
1015
|
+
* Where a table or column of the working schema came from in the origin contract, after the
|
|
1016
|
+
* statements' renames and moves: the statement planner records it, and the questions name a
|
|
1017
|
+
* subject through it.
|
|
1018
|
+
*/
|
|
1019
|
+
interface WorkingSchemaOrigins {
|
|
1020
|
+
/** The origin place of a table of the working schema. */
|
|
1021
|
+
originTable(current: ModelTable): ModelTable;
|
|
1022
|
+
/** The origin name of a column, now named `column`, of the origin table `origin`. */
|
|
1023
|
+
originColumn(origin: ModelTable, column: string): string;
|
|
1024
|
+
}
|
|
1025
|
+
/** The origins of a plan whose statements renamed and moved nothing. */
|
|
1026
|
+
declare const NO_RENAMED_ORIGINS: WorkingSchemaOrigins;
|
|
1027
|
+
interface PlannedStatements<TCall extends CallWithCompanions> {
|
|
1028
|
+
/**
|
|
1029
|
+
* The calls, which a target puts first in its plan: each statement's `operationIndexes` count
|
|
1030
|
+
* from the first operation of the first call.
|
|
1031
|
+
*/
|
|
1032
|
+
readonly calls: readonly TCall[];
|
|
1033
|
+
readonly tableRenames: readonly TableRename[];
|
|
1034
|
+
readonly columnRenames: readonly ColumnRename[];
|
|
1035
|
+
readonly appliedStatements: readonly AppliedMigrationStatement[];
|
|
1036
|
+
readonly origins: WorkingSchemaOrigins;
|
|
1037
|
+
}
|
|
1038
|
+
/** The contract space planned, and the oracle that says which spaces declare a namespace. */
|
|
1039
|
+
interface StatementOwnership {
|
|
1040
|
+
readonly oracle: SchemaOwnership | undefined;
|
|
1041
|
+
readonly spaceId: string;
|
|
1042
|
+
}
|
|
1043
|
+
/** A contract space other than the one planned that declares the namespace, if any. */
|
|
1044
|
+
declare function otherSpaceDeclaring(ownership: StatementOwnership, namespaceId: string): string | undefined;
|
|
1045
|
+
/**
|
|
1046
|
+
* Plans the statements against a target's working schema, namespace renames first and the rest in
|
|
1047
|
+
* the order given: model and field statements name the origin and destination contracts, so the
|
|
1048
|
+
* namespace renames' place among them does not matter. Each model rename becomes a table rename
|
|
1049
|
+
* and each field rename a column rename, computed against the schema earlier statements left, then
|
|
1050
|
+
* applied to it. The first statement that cannot be planned fails the whole
|
|
1051
|
+
* plan with a `statementRefused` conflict that carries the statement.
|
|
1052
|
+
*/
|
|
1053
|
+
declare function planStatements<TCall extends CallWithCompanions>(input: {
|
|
1054
|
+
readonly statements: readonly ResolvedRenameStatement[];
|
|
1055
|
+
readonly fromContract: Contract<SqlStorage> | null;
|
|
1056
|
+
readonly contract: Contract<SqlStorage>;
|
|
1057
|
+
readonly policy: MigrationOperationPolicy;
|
|
1058
|
+
readonly target: StatementPlanningTarget<TCall>;
|
|
1059
|
+
readonly ownership?: StatementOwnership;
|
|
1060
|
+
}): Result<PlannedStatements<TCall>, SqlPlannerConflict>;
|
|
1061
|
+
/**
|
|
1062
|
+
* A column a statement names, in a table of a storage namespace, as the destination contract stores
|
|
1063
|
+
* it, with the field the statement names.
|
|
1064
|
+
*/
|
|
1065
|
+
interface StatementColumn {
|
|
1066
|
+
readonly namespaceId: string;
|
|
1067
|
+
readonly table: string;
|
|
1068
|
+
readonly column: string;
|
|
1069
|
+
readonly field: FieldCoordinate;
|
|
1070
|
+
/** The field as the statement names it, which also names the statement's slots. */
|
|
1071
|
+
readonly text: string;
|
|
1072
|
+
}
|
|
1073
|
+
/** The columns of the fields that convert and backfill statements name. */
|
|
1074
|
+
interface FieldStatementColumns {
|
|
1075
|
+
readonly convert: readonly StatementColumn[];
|
|
1076
|
+
readonly backfill: readonly StatementColumn[];
|
|
1077
|
+
}
|
|
1078
|
+
/**
|
|
1079
|
+
* The column of each field a convert or backfill statement names, as the destination contract
|
|
1080
|
+
* stores it. These statements rename nothing, so the strategies that plan a field's change read
|
|
1081
|
+
* them instead of the working schema. A field with no column has none to list.
|
|
1082
|
+
*/
|
|
1083
|
+
declare function fieldStatementColumns(statements: readonly ResolvedMigrationStatement[], contract: ContractWithDomain): FieldStatementColumns;
|
|
1084
|
+
/**
|
|
1085
|
+
* A conflict for the first backfill statement that names a field the origin model does not have and
|
|
1086
|
+
* whose column has a default: the default fills the existing rows when the column is added, so the
|
|
1087
|
+
* statement has nothing to fill. A field already in the origin keeps its backfill, since a default
|
|
1088
|
+
* does not fill the rows that hold NULL when the column becomes required.
|
|
1089
|
+
*/
|
|
1090
|
+
declare function backfillOfDefaultedField(statements: readonly ResolvedMigrationStatement[], fromContract: ContractWithDomain | null, contract: Contract<SqlStorage>): SqlPlannerConflict | undefined;
|
|
1091
|
+
/**
|
|
1092
|
+
* Every statement of a plan in the order given, with the operations it accounts for: a rename's
|
|
1093
|
+
* from `renames`, and none yet for any other statement.
|
|
1094
|
+
*/
|
|
1095
|
+
declare function appliedStatementsInOrder(statements: readonly ResolvedMigrationStatement[], renames: readonly AppliedMigrationStatement[]): readonly AppliedMigrationStatement[];
|
|
1096
|
+
//#endregion
|
|
1097
|
+
//#region src/core/migrations/operation-subjects.d.ts
|
|
1098
|
+
/**
|
|
1099
|
+
* What an operation is about, as the plan names it after its rename statements: a table, or a
|
|
1100
|
+
* column of one, in a storage namespace, or neither, such as a type. `storageName` names the
|
|
1101
|
+
* subject when no model of the origin contract stores it.
|
|
1102
|
+
*/
|
|
1103
|
+
interface SubjectStorage {
|
|
1104
|
+
readonly storageName: string;
|
|
1105
|
+
readonly table: {
|
|
1106
|
+
readonly namespaceId: string;
|
|
1107
|
+
readonly table: string;
|
|
1108
|
+
readonly column: string | undefined;
|
|
1109
|
+
} | undefined;
|
|
1110
|
+
}
|
|
1111
|
+
/** What a codec hook's call is about: the column of the field event it was returned for. */
|
|
1112
|
+
declare function fieldEventStorage(field: {
|
|
1113
|
+
readonly namespaceId: string;
|
|
1114
|
+
readonly tableName: string;
|
|
1115
|
+
readonly columnName: string;
|
|
1116
|
+
}): SubjectStorage;
|
|
1117
|
+
/**
|
|
1118
|
+
* Names for destructive calls a target cannot map to storage: each call's factory name, with a
|
|
1119
|
+
* `#n` ordinal when several calls of the plan share it, so each name picks out one call.
|
|
1120
|
+
*/
|
|
1121
|
+
declare function unknownCallNames<TCall extends {
|
|
1122
|
+
readonly factoryName: string;
|
|
1123
|
+
}>(calls: readonly TCall[]): ReadonlyMap<TCall, string>;
|
|
1124
|
+
/** A call of a plan: how many operations it lowers to, and what the first of them is about. */
|
|
1125
|
+
interface CallSubjects {
|
|
1126
|
+
readonly operationCount: number;
|
|
1127
|
+
/** The call's label, which names its operation before the plan's slots are filled. */
|
|
1128
|
+
readonly label: string;
|
|
1129
|
+
/** What the call's operation loses, one entry per model, field or storage name, and how. */
|
|
1130
|
+
readonly dataLoss: readonly (SubjectStorage & {
|
|
1131
|
+
readonly loss: MigrationDataLossKind;
|
|
1132
|
+
})[];
|
|
1133
|
+
/** What the call's operation changes access to, and whether it widens it. */
|
|
1134
|
+
readonly accessChanges: readonly (SubjectStorage & {
|
|
1135
|
+
readonly widens: boolean;
|
|
1136
|
+
})[];
|
|
1137
|
+
/** The new required columns the call's operation gives a temporary value in existing rows, and the value. */
|
|
1138
|
+
readonly temporaryValues: readonly TemporaryColumnValue[];
|
|
1139
|
+
}
|
|
1140
|
+
/** A new required column of `table` in the destination, and the temporary value its existing rows get. */
|
|
1141
|
+
interface TemporaryColumnValue {
|
|
1142
|
+
readonly table: string;
|
|
1143
|
+
readonly column: string;
|
|
1144
|
+
readonly value: string;
|
|
1145
|
+
}
|
|
1146
|
+
interface SubjectContext {
|
|
1147
|
+
readonly fromContract: ContractWithDomain | null;
|
|
1148
|
+
readonly contract: ContractWithDomain;
|
|
1149
|
+
/** Where the plan's statements put the origin's tables and columns. */
|
|
1150
|
+
readonly origins: WorkingSchemaOrigins;
|
|
1151
|
+
readonly byHand: TableRenameByHand;
|
|
1152
|
+
}
|
|
1153
|
+
/**
|
|
1154
|
+
* The subject of each operation that loses data and each that changes access, at its position in
|
|
1155
|
+
* the plan. A subject is a model or a field of the origin contract when one stores it, found under
|
|
1156
|
+
* its origin name when a rename statement renamed its table or column earlier in the plan.
|
|
1157
|
+
*/
|
|
1158
|
+
declare function subjectsOfCalls(calls: readonly CallSubjects[], context: SubjectContext): MigrationPlanSubjects;
|
|
1159
|
+
//#endregion
|
|
1160
|
+
//#region src/core/migrations/plan-helpers.d.ts
|
|
1161
|
+
declare function createMigrationPlan<TTargetDetails>(options: CreateSqlMigrationPlanOptions<TTargetDetails>): SqlMigrationPlan<TTargetDetails>;
|
|
1162
|
+
declare function plannerSuccess<TTargetDetails>(plan: SqlMigrationPlan<TTargetDetails>, appliedStatements: readonly AppliedMigrationStatement[], subjects: MigrationPlanSubjects, warnings?: readonly SqlPlannerConflict[]): SqlPlannerSuccessResult<TTargetDetails>;
|
|
1163
|
+
declare function plannerFailure(conflicts: readonly SqlPlannerConflict[]): SqlPlannerFailureResult;
|
|
1164
|
+
/**
|
|
1165
|
+
* Creates a successful migration runner result.
|
|
1166
|
+
*/
|
|
1167
|
+
declare function runnerSuccess(value: {
|
|
1168
|
+
operationsPlanned: number;
|
|
1169
|
+
operationsExecuted: number;
|
|
1170
|
+
}): Ok<SqlMigrationRunnerSuccessValue>;
|
|
1171
|
+
/**
|
|
1172
|
+
* Creates a failed migration runner result.
|
|
1173
|
+
*/
|
|
1174
|
+
declare function runnerFailure(code: SqlMigrationRunnerErrorCode, summary: string, options?: {
|
|
1175
|
+
readonly why?: string | undefined;
|
|
1176
|
+
readonly meta?: MigrationRunnerFailureMeta;
|
|
1177
|
+
}): NotOk<SqlMigrationRunnerFailure>;
|
|
1178
|
+
//#endregion
|
|
1179
|
+
//#region src/core/migrations/policies.d.ts
|
|
1180
|
+
/**
|
|
1181
|
+
* Policy used by `db init`: additive-only operations, no widening/destructive steps.
|
|
1182
|
+
*/
|
|
1183
|
+
declare const INIT_ADDITIVE_POLICY: MigrationOperationPolicy;
|
|
1184
|
+
//#endregion
|
|
1185
|
+
//#region src/core/migrations/required-column.d.ts
|
|
1186
|
+
/** Where a column that is to become required finds no value. */
|
|
1187
|
+
interface RequiredColumn {
|
|
1188
|
+
readonly table: string;
|
|
1189
|
+
readonly column: string;
|
|
1190
|
+
readonly reason: RowsWithoutValue['reason'];
|
|
1191
|
+
}
|
|
1192
|
+
/**
|
|
1193
|
+
* The meta of a step that fails when rows have no value for a column that is to become required:
|
|
1194
|
+
* rows hold NULL in it, or, for a new column that can be added to an empty table only, the table
|
|
1195
|
+
* has rows. When the step fails, the runner counts those rows.
|
|
1196
|
+
*/
|
|
1197
|
+
declare function requiredColumnMeta(table: string, column: string, reason: RowsWithoutValue['reason']): {
|
|
1198
|
+
readonly requiredColumn: RequiredColumn;
|
|
1199
|
+
};
|
|
1200
|
+
/** The column a step checks before it becomes required, as {@link requiredColumnMeta} marks it. */
|
|
1201
|
+
declare function requiredColumnOf(step: SqlMigrationPlanOperationStep): RequiredColumn | undefined;
|
|
1202
|
+
/** What a runner failure says of the rows a column that is to become required has no value in. */
|
|
1203
|
+
declare function rowsWithoutValueSummary(required: RequiredColumn, rows: number): string;
|
|
1204
|
+
/** A step of a plan that marks a column as becoming required. */
|
|
1205
|
+
interface RequiredColumnMark<TOperation> {
|
|
1206
|
+
readonly operation: TOperation;
|
|
1207
|
+
readonly operationIndex: number;
|
|
1208
|
+
readonly required: RequiredColumn;
|
|
1209
|
+
}
|
|
1210
|
+
/**
|
|
1211
|
+
* The marks of the steps of `operations` that belong to the same migration as the operation at
|
|
1212
|
+
* `operationIndex`, in plan order: `edges` say how many operations each migration of the plan has.
|
|
1213
|
+
*/
|
|
1214
|
+
declare function requiredColumnsOfMigration<TOperation extends {
|
|
1215
|
+
readonly precheck: readonly SqlMigrationPlanOperationStep[];
|
|
1216
|
+
readonly execute: readonly SqlMigrationPlanOperationStep[];
|
|
1217
|
+
readonly postcheck: readonly SqlMigrationPlanOperationStep[];
|
|
1218
|
+
}>(operations: readonly TOperation[], edges: readonly {
|
|
1219
|
+
readonly operationCount: number;
|
|
1220
|
+
}[], operationIndex: number): readonly RequiredColumnMark<TOperation>[];
|
|
1221
|
+
/**
|
|
1222
|
+
* A runner failure's summary and reports for the rows that columns becoming required have no value
|
|
1223
|
+
* in. The failed operation's marks are counted first, and the first of them with such rows is the
|
|
1224
|
+
* one the summary names; undefined when none has any. The other marks of the same migration are
|
|
1225
|
+
* counted after it, until a count fails, such as for a column an earlier operation adds, so that
|
|
1226
|
+
* the advice can name every field that needs a value.
|
|
1227
|
+
*/
|
|
1228
|
+
declare function rowsWithoutValueFailure<TOperation>(input: {
|
|
1229
|
+
readonly failed: readonly RequiredColumnMark<TOperation>[];
|
|
1230
|
+
readonly others: readonly RequiredColumnMark<TOperation>[];
|
|
1231
|
+
readonly count: (mark: RequiredColumnMark<TOperation>) => Promise<number>;
|
|
1232
|
+
readonly contract: ContractWithDomain;
|
|
1233
|
+
}): Promise<{
|
|
1234
|
+
readonly summary: string;
|
|
1235
|
+
readonly reports: readonly RowsWithoutValue[];
|
|
1236
|
+
} | undefined>;
|
|
1237
|
+
//#endregion
|
|
1238
|
+
//#region src/core/migrations/sql-expression-text.d.ts
|
|
1239
|
+
/**
|
|
1240
|
+
* One way a target's SQL quotes a literal or an identifier. Inside the quote, the closing text
|
|
1241
|
+
* written twice stands for itself when `doubledCloseEscapes` is set, and a backslash escapes the
|
|
1242
|
+
* next character when `backslashEscapes` is set.
|
|
1243
|
+
*/
|
|
1244
|
+
interface SqlQuote {
|
|
1245
|
+
readonly open: string;
|
|
1246
|
+
readonly close: string;
|
|
1247
|
+
readonly doubledCloseEscapes: boolean;
|
|
1248
|
+
readonly backslashEscapes: boolean;
|
|
1249
|
+
}
|
|
1250
|
+
/** The quotes a target's SQL knows. Letters in an opening text, such as the `E` of `E'`, match either case. */
|
|
1251
|
+
type SqlQuotingRules = readonly SqlQuote[];
|
|
1252
|
+
/**
|
|
1253
|
+
* Returns what in `text` could end or extend the statement a migration writes it into, such as the
|
|
1254
|
+
* conversion of an `ALTER COLUMN … USING` clause or a column of an `INSERT … SELECT` list, or
|
|
1255
|
+
* undefined when it finds nothing. Text inside the quotes of `quoting` may hold anything; outside
|
|
1256
|
+
* them the text may not hold a semicolon, a SQL comment, dollar quoting, or, outside parentheses
|
|
1257
|
+
* and brackets, a comma or a keyword that would end the expression. `FROM` directly after
|
|
1258
|
+
* `DISTINCT`, as in `IS DISTINCT FROM`, belongs to the expression. It checks for these mistakes
|
|
1259
|
+
* only; it does not parse the SQL.
|
|
1260
|
+
*/
|
|
1261
|
+
declare function checkSqlExpressionText(text: string, quoting: SqlQuotingRules): string | undefined;
|
|
1262
|
+
//#endregion
|
|
1263
|
+
//#region src/core/migrations/sql-text-sources.d.ts
|
|
1264
|
+
/**
|
|
1265
|
+
* Writes the SQL texts of one generated migration-file call. Each text becomes a `sql` template where the tag reads it
|
|
1266
|
+
* back unchanged, else a string literal. `imports()` holds the `sql` import exactly when a written text used the tag.
|
|
1267
|
+
*/
|
|
1268
|
+
interface SqlTextSources {
|
|
1269
|
+
source(text: string): string;
|
|
1270
|
+
imports(): readonly ImportRequirement[];
|
|
1271
|
+
}
|
|
1272
|
+
/** `moduleSpecifier` is the module the generated file imports `sql` from. */
|
|
1273
|
+
declare function createSqlTextSources(moduleSpecifier: string): SqlTextSources;
|
|
1274
|
+
//#endregion
|
|
1275
|
+
//#region src/core/migrations/sql-slot.d.ts
|
|
1276
|
+
/**
|
|
1277
|
+
* SQL a planned call writes into a statement: written SQL, or a placeholder slot the user fills in
|
|
1278
|
+
* `migration.ts`. While a slot is unfilled, the call lowers to no operation.
|
|
1279
|
+
*/
|
|
1280
|
+
type SqlSlot = {
|
|
1281
|
+
readonly kind: 'sql';
|
|
1282
|
+
readonly sql: string;
|
|
1283
|
+
} | {
|
|
1284
|
+
readonly kind: 'placeholder';
|
|
1285
|
+
readonly slot: string;
|
|
1286
|
+
};
|
|
1287
|
+
/** Whether `slot` is a placeholder the user has not filled yet. */
|
|
1288
|
+
declare function isUnfilledSlot(slot: SqlSlot | undefined): slot is Extract<SqlSlot, {
|
|
1289
|
+
readonly kind: 'placeholder';
|
|
1290
|
+
}>;
|
|
1291
|
+
/** The SQL of a written slot; undefined for an unfilled one or none. */
|
|
1292
|
+
declare function sqlOfSlot(slot: SqlSlot | undefined): string | undefined;
|
|
1293
|
+
/** The slot as `migration.ts` writes it: SQL text written through `sql`, or a `placeholder(...)` call. */
|
|
1294
|
+
declare function slotSource(slot: SqlSlot, sql: SqlTextSources): string;
|
|
1295
|
+
//#endregion
|
|
1296
|
+
//#region src/core/migrations/sql-type-lookups.d.ts
|
|
1297
|
+
/** The codecs and data types a set of composed components registers. */
|
|
1298
|
+
declare function sqlTypeLookupsOf(frameworkComponents: ReadonlyArray<TargetBoundComponentDescriptor<'sql', string>>): TypeLookups;
|
|
1299
|
+
//#endregion
|
|
1300
|
+
//#region src/core/migrations/table-name-case-guard.d.ts
|
|
1301
|
+
declare const TABLE_NAME_CASE_CHANGED_CODE = "MIGRATION.TABLE_NAME_CASE_CHANGED";
|
|
1302
|
+
/** The one fact the guard needs about a table the plan would drop or create. */
|
|
1303
|
+
interface TableNameCaseGuardTable {
|
|
1304
|
+
readonly name: string;
|
|
1305
|
+
}
|
|
1306
|
+
/**
|
|
1307
|
+
* Finds every (drop `X`, create `Y`) pair in the same namespace where `X` is
|
|
1308
|
+
* `Y` with its first letter lowered. That shape is the signature of a schema
|
|
1309
|
+
* upgraded across the release in which a model with no `@@map` stopped
|
|
1310
|
+
* lowering the first letter of its table name: planning it would drop the
|
|
1311
|
+
* user's table and recreate it empty. Columns are deliberately not compared,
|
|
1312
|
+
* so a user who also changed a field in the same upgrade is still protected.
|
|
1313
|
+
*
|
|
1314
|
+
* Returns one conflict per pair, carrying `MIGRATION.TABLE_NAME_CASE_CHANGED`
|
|
1315
|
+
* in `meta.code`, or an empty array when the plan has no such pair.
|
|
1316
|
+
*/
|
|
1317
|
+
declare function detectTableNameCaseChanges(input: {
|
|
1318
|
+
readonly issues: readonly SchemaDiffIssue[];
|
|
1319
|
+
readonly tableOf: (issue: SchemaDiffIssue) => TableNameCaseGuardTable | undefined;
|
|
1320
|
+
readonly namespaceIdOf: (issue: SchemaDiffIssue) => string;
|
|
1321
|
+
readonly renameByHandStatements: (rename: TableRename) => readonly string[];
|
|
1322
|
+
readonly renameTableCall: (rename: TableRenameRequest) => string;
|
|
1323
|
+
readonly contract: Contract<SqlStorage>;
|
|
1324
|
+
readonly defaultNamespaceId: string;
|
|
1325
|
+
}): SqlPlannerConflict[];
|
|
1326
|
+
//#endregion
|
|
1327
|
+
//#region src/core/migrations/temporary-value.d.ts
|
|
1328
|
+
/**
|
|
1329
|
+
* Whether a required column the plan adds to a table with rows may take one temporary value in
|
|
1330
|
+
* every row. Not when it is in the primary key, a unique constraint or a foreign key, which one
|
|
1331
|
+
* value in every row would break, and not when its values come from a value set, since no one value
|
|
1332
|
+
* stands for every member. Such a column is added for an empty table only.
|
|
1333
|
+
*/
|
|
1334
|
+
declare function columnTakesTemporaryValue(table: StorageTable, column: string): boolean;
|
|
1335
|
+
//#endregion
|
|
1336
|
+
//#region src/core/migrations/unconverted-field.d.ts
|
|
1337
|
+
/**
|
|
1338
|
+
* A column whose values a step converts to the column's new type, or checks that it did: `by` says
|
|
1339
|
+
* who converts them, the database's own cast or the migration's own conversion.
|
|
1340
|
+
*/
|
|
1341
|
+
interface ConvertedColumn {
|
|
1342
|
+
readonly table: string;
|
|
1343
|
+
readonly column: string;
|
|
1344
|
+
readonly by: 'cast' | 'conversion';
|
|
1345
|
+
}
|
|
1346
|
+
/**
|
|
1347
|
+
* The meta of a step that converts the values of `column` in `table` to the column's new type, or
|
|
1348
|
+
* checks that it did. When the step fails, the runner names the field that stores the column.
|
|
1349
|
+
*/
|
|
1350
|
+
declare function convertedColumnMeta(table: string, column: string, by: ConvertedColumn['by']): {
|
|
1351
|
+
readonly convertedColumn: ConvertedColumn;
|
|
1352
|
+
};
|
|
1353
|
+
/** The column a step converts to its new type, as {@link convertedColumnMeta} marks it. */
|
|
1354
|
+
declare function convertedColumnOf(step: SqlMigrationPlanOperationStep): ConvertedColumn | undefined;
|
|
1355
|
+
/**
|
|
1356
|
+
* The field of `contract` whose column a failed step converts, or undefined when the step
|
|
1357
|
+
* converts no column, no field stores the column, or tables of two storage namespaces share its name.
|
|
1358
|
+
*/
|
|
1359
|
+
declare function unconvertedFieldOf(step: SqlMigrationPlanOperationStep, contract: ContractWithDomain): MigrationSubject | undefined;
|
|
1360
|
+
//#endregion
|
|
1361
|
+
//#region src/core/reported-defaults.d.ts
|
|
1362
|
+
/**
|
|
1363
|
+
* A reported literal default with the target's quoting, casts and escapes taken off: one body, or a list's element bodies with `null` for SQL NULL. A body is what the target's driver hands `fromWire` for a row of the column: text, a number where the driver returns one, or bytes.
|
|
1364
|
+
*/
|
|
1365
|
+
type ReportedLiteralDefault = {
|
|
1366
|
+
readonly kind: 'value';
|
|
1367
|
+
readonly body: ReportedBody;
|
|
1368
|
+
} | {
|
|
1369
|
+
readonly kind: 'list';
|
|
1370
|
+
readonly elements: readonly (ReportedBody | null)[];
|
|
1371
|
+
};
|
|
1372
|
+
/** One literal's body, as the driver would hand it over for a row: text, a number, or the bytes of a blob. */
|
|
1373
|
+
type ReportedBody = string | number | Uint8Array;
|
|
1374
|
+
/** What the column's codec made of a reported literal default: the value, or the codec's reason it could not read it. */
|
|
1375
|
+
type ReadReportedDefault = {
|
|
1376
|
+
readonly resolvedDefault: ColumnDefault;
|
|
1377
|
+
readonly defaultValue: SqlDefaultValue;
|
|
1378
|
+
} | {
|
|
1379
|
+
readonly defaultUnreadable: string;
|
|
1380
|
+
};
|
|
1381
|
+
/** Reads a reported literal default with the column's codec. `raw` is the reported text, which a refusal quotes. */
|
|
1382
|
+
declare function readReportedDefault(codec: Codec, literal: ReportedLiteralDefault, raw: string): Promise<ReadReportedDefault>;
|
|
1383
|
+
/** What introspection holds of a reported literal default: the codec's reading, and the value of the literal the contract's expression default writes, when it writes one the codec reads. */
|
|
1384
|
+
type ReadColumnDefault = ReadReportedDefault & {
|
|
1385
|
+
readonly defaultExpressionValue?: SqlDefaultValue;
|
|
1386
|
+
};
|
|
1387
|
+
/**
|
|
1388
|
+
* Reads a reported literal default with the column's codec, and, when the contract's default is an expression that writes a literal, that literal too, so the diff compares the two as values.
|
|
1389
|
+
*/
|
|
1390
|
+
declare function readColumnDefault(codec: Codec, reported: {
|
|
1391
|
+
readonly literal: ReportedLiteralDefault;
|
|
1392
|
+
readonly raw: string;
|
|
1393
|
+
}, written: {
|
|
1394
|
+
readonly literal: ReportedLiteralDefault;
|
|
1395
|
+
readonly expression: string;
|
|
1396
|
+
} | undefined): Promise<ReadColumnDefault>;
|
|
1397
|
+
/** What introspection needs of a column the contract declares: its codec, and its default when that is an expression. */
|
|
1398
|
+
interface ContractColumn {
|
|
1399
|
+
readonly codecRef: CodecRef;
|
|
1400
|
+
readonly defaultExpression: string | undefined;
|
|
1401
|
+
}
|
|
1402
|
+
/** The columns a contract declares, for introspection to read each column's reported default with the column's codec. */
|
|
1403
|
+
interface ContractColumns {
|
|
1404
|
+
/** `table.column` in one of `namespaceIds`, or in any namespace when `undefined`. */
|
|
1405
|
+
columnOf(namespaceIds: readonly string[] | undefined, table: string, column: string): ContractColumn | undefined;
|
|
1406
|
+
}
|
|
1407
|
+
/**
|
|
1408
|
+
* The columns `contract` declares. `contract` is a contract, or the namespaces of several contract spaces merged with each space's contract under `contracts`, as multi-space introspection receives them.
|
|
1409
|
+
*/
|
|
1410
|
+
declare function contractColumns(contract: unknown): ContractColumns;
|
|
1411
|
+
//#endregion
|
|
1412
|
+
//#region src/exports/control.d.ts
|
|
1413
|
+
declare const _default: SqlFamilyDescriptor;
|
|
1414
|
+
//#endregion
|
|
1415
|
+
export { SubjectStorage as $, sqlOfSlot as $t, NoTable as A, isUnfilledSlot as At, SingleOperationCall as B, readColumnDefault as Bt, MigrationPlannerConflict$1 as C, detectDestructiveChanges as Ct, NO_RENAMED_ORIGINS as D, fieldOfColumn as Dt, ModelTable as E, fieldEventStorage as Et, ReportedBody as F, planFieldEventCalls as Ft, SqlPslBuildContext as G, resolveColumnRenameAgainst as Gt, SqlControlTargetDescriptor as H, requiredColumnMeta as Ht, ReportedLiteralDefault as I, planFieldEventOperations as It, SqlSlot as J, rowsWithoutValueSummary as Jt, SqlQuote as K, resolveTableRenameAgainst as Kt, RequiredColumn as L, planStatements as Lt, PlannedStatements as M, otherSpaceDeclaring as Mt, ReadColumnDefault as N, partitionCallsByControlPolicy as Nt, NamespaceRename as O, fieldRenameStorageEffect as Ot, ReadReportedDefault as P, partitionIssuesByControlPolicy as Pt, StatementPlanningTarget as Q, sqlDefaultFunctions as Qt, RequiredColumnMark as R, plannerFailure as Rt, MigrationPlanner as S, createSqlTextSources as St, ModelStorageEffect as T, extractCodecControlHooks as Tt, SqlDefaultFunctionName as U, requiredColumnOf as Ut, SqlControlFamilyInstance as V, readReportedDefault as Vt, SqlDescribedContractSpace as W, requiredColumnsOfMigration as Wt, StatementColumn as X, runnerSuccess as Xt, SqlTextSources as Y, runnerFailure as Yt, StatementOwnership as Z, slotSource as Zt, INIT_ADDITIVE_POLICY as _, contractNamespaceToSchemaIR as _t, ColumnRename as a, unmatchedColumnRename as an, TableRenameByHand as at, MigrationPlan$1 as b, convertedColumnOf as bt, ContractColumns as c, TargetRefusal as ct, ConvertedColumn as d, appliedStatementsInOrder as dt, sqlTypeLookupsOf as en, SuppressionRecord as et, DefaultResolver as f, assembleAuthoringContributions$1 as ft, FieldStorageEffect as g, contractColumns as gt, FieldStatementColumns as h, columnTakesTemporaryValue as ht, ColumnOnOneSide as i, unknownCallNames as in, TableRename as it, PlanFieldEventOperationsOptions as j, modelRenameStorageEffect as jt, NamespaceStatementTarget as k, fieldStatementColumns as kt, ContractToSchemaIROptions as l, WorkingSchemaOrigins as lt, FieldEventCall as m, checkSqlExpressionText as mt, CallSubjects as n, subjectsOfCalls as nn, TableMove as nt, ColumnRenameRequest as o, unmatchedTableRename as on, TableRenameRequest as ot, DefaultResolverColumn as p, backfillOfDefaultedField as pt, SqlQuotingRules as q, rowsWithoutValueFailure as qt, CallWithCompanions as r, unconvertedFieldOf as rn, TableNameCaseGuardTable as rt, ContractColumn as s, TargetMigrationsCapability as st, COLUMN_RENAME_UNMATCHED_CODE as t, storageNameOfOperation as tn, TABLE_NAME_CASE_CHANGED_CODE as tt, ControlPolicySubject as u, _default as ut, MigrationOperationClass$1 as v, contractToSchemaIR as vt, MigrationPlannerResult as w, detectTableNameCaseChanges as wt, MigrationPlanOperation$1 as x, createMigrationPlan as xt, MigrationOperationPolicy$1 as y, convertedColumnMeta as yt, SchemaTables as z, plannerSuccess as zt };
|
|
1416
|
+
//# sourceMappingURL=control-ChAUdOOu.d.mts.map
|