@prisma/orm-target-postgres 8.0.0-rc.14-dev.5 → 8.0.0-rc.14-dev.7
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/dist/{adapter-Bz6wSV__-Dp93eiiH.mjs → adapter-Bb_FFDea-O-uPaHCy.mjs} +5 -5
- package/dist/{adapter-Bz6wSV__-Dp93eiiH.mjs.map → adapter-Bb_FFDea-O-uPaHCy.mjs.map} +1 -1
- package/dist/{adapter-DP_SQYED.d.mts → adapter-WLK_P3mT.d.mts} +3 -3
- package/dist/{adapter-DP_SQYED.d.mts.map → adapter-WLK_P3mT.d.mts.map} +1 -1
- package/dist/adapter.d.mts +8 -8
- package/dist/adapter.mjs +6 -6
- package/dist/adapter__adapter.d.mts +1 -1
- package/dist/adapter__adapter.mjs +1 -1
- package/dist/adapter__control.d.mts +3 -3
- package/dist/adapter__control.mjs +8 -369
- package/dist/adapter__control.mjs.map +1 -1
- package/dist/adapter__runtime.d.mts +1 -1
- package/dist/adapter__runtime.mjs +4 -5
- package/dist/adapter__runtime.mjs.map +1 -1
- package/dist/adapter__sql-renderer.d.mts +1 -1
- package/dist/adapter__sql-renderer.mjs +1 -1
- package/dist/adapter__types.d.mts +3 -3
- package/dist/{authoring-BmQxOggr-CK871YR4.mjs → authoring-DKN1ccEX-DgmJWx1r.mjs} +4 -4
- package/dist/{authoring-BmQxOggr-CK871YR4.mjs.map → authoring-DKN1ccEX-DgmJWx1r.mjs.map} +1 -1
- package/dist/{codec-descriptor-BfoHQP3R-CMRVT-F6.mjs → codec-descriptor-B61d-k4C-BdWVU6Fu.mjs} +4 -3
- package/dist/codec-descriptor-B61d-k4C-BdWVU6Fu.mjs.map +1 -0
- package/dist/codec-descriptor-D8_e5hpo.d.mts +1 -0
- package/dist/{codec-descriptor-DUUGoeyI-WGLGXEoI.d.mts → codec-descriptor-HYqjI24K-CTO3gTEs.d.mts} +11 -5
- package/dist/codec-descriptor-HYqjI24K-CTO3gTEs.d.mts.map +1 -0
- package/dist/{data-types-Cl18KnNY-5I34Vd6Z.mjs → codec-helpers-D83-1eDB-nqAEMr7N.mjs} +39 -216
- package/dist/codec-helpers-D83-1eDB-nqAEMr7N.mjs.map +1 -0
- package/dist/{codec-type-map-Cp91lhQd-D6zQ14YE.d.mts → codec-type-map-DMKy_xZb-DymgX4w7.d.mts} +4 -4
- package/dist/{codec-type-map-Cp91lhQd-D6zQ14YE.d.mts.map → codec-type-map-DMKy_xZb-DymgX4w7.d.mts.map} +1 -1
- package/dist/{codec-types-BQNq7Y1u-CGfS7PuD.d.mts → codec-types-B4-xhn7m-RQS461us.d.mts} +4 -4
- package/dist/{codec-types-BQNq7Y1u-CGfS7PuD.d.mts.map → codec-types-B4-xhn7m-RQS461us.d.mts.map} +1 -1
- package/dist/codec-types-Ci1nfCYh.d.mts +2 -0
- package/dist/{codecs-DQGmsnk3-H6nVRPCC.mjs → codecs-BHNqtI1J-BSS9sL3H.mjs} +263 -69
- package/dist/codecs-BHNqtI1J-BSS9sL3H.mjs.map +1 -0
- package/dist/{codecs-BKV97Xsa.d.mts → codecs-Ba3gUr67.d.mts} +11 -5
- package/dist/{codecs-BKV97Xsa.d.mts.map → codecs-Ba3gUr67.d.mts.map} +1 -1
- package/dist/{codecs-BZ87E3MY-Bub4t0ma.d.mts → codecs-Bkmbmo_r-Ct7hFY0S.d.mts} +31 -10
- package/dist/{codecs-BZ87E3MY-Bub4t0ma.d.mts.map → codecs-Bkmbmo_r-Ct7hFY0S.d.mts.map} +1 -1
- package/dist/{codecs-C4DVdgQG.mjs → codecs-Cytq8Ymj.mjs} +12 -4
- package/dist/codecs-Cytq8Ymj.mjs.map +1 -0
- package/dist/control-CUzQZfhu.d.mts +399 -0
- package/dist/control-CUzQZfhu.d.mts.map +1 -0
- package/dist/{control-w3p4NYNx.mjs → control-CYQReJto.mjs} +441 -72
- package/dist/control-CYQReJto.mjs.map +1 -0
- package/dist/{control-DxJWBVjs.d.mts → control-DoIm71dz.d.mts} +5 -4
- package/dist/control-DoIm71dz.d.mts.map +1 -0
- package/dist/{control-adapter-Buuq3v1c-DtBZerak.mjs → control-adapter-C6kz--Q4-3C9-f7Uv.mjs} +78 -95
- package/dist/control-adapter-C6kz--Q4-3C9-f7Uv.mjs.map +1 -0
- package/dist/{control-policy-BYo5QPof-BLT07t1y.mjs → control-policy-voGArjr--BeHlQRg0.mjs} +19 -17
- package/dist/control-policy-voGArjr--BeHlQRg0.mjs.map +1 -0
- package/dist/{data-type-entries-CvkBtAG--D-5Wtm9_.mjs → data-type-entries-BDSHvsdE-Bbe1cdbR.mjs} +3 -3
- package/dist/{data-type-entries-CvkBtAG--D-5Wtm9_.mjs.map → data-type-entries-BDSHvsdE-Bbe1cdbR.mjs.map} +1 -1
- package/dist/data-types-BqeC7aZP-CwvA08pH.mjs +200 -0
- package/dist/data-types-BqeC7aZP-CwvA08pH.mjs.map +1 -0
- package/dist/{default-normalizer-Bp3IhMR9-D0uYVRLZ.mjs → default-normalizer-Cb7nWBUa-DXchlOUk.mjs} +82 -19
- package/dist/default-normalizer-Cb7nWBUa-DXchlOUk.mjs.map +1 -0
- package/dist/{descriptor-meta-F1wsOtt2-D014LIGM.mjs → descriptor-meta-BEigA5Gj-By_dcUjB.mjs} +9 -7
- package/dist/descriptor-meta-BEigA5Gj-By_dcUjB.mjs.map +1 -0
- package/dist/{descriptor-meta-BOx9pvBv-C4TEXck8.mjs → descriptor-meta-DF0hODA0-DnO80XvH.mjs} +4 -4
- package/dist/{descriptor-meta-BOx9pvBv-C4TEXck8.mjs.map → descriptor-meta-DF0hODA0-DnO80XvH.mjs.map} +1 -1
- package/dist/{diff-database-schema-BP4uAPZZ-8ljuCPav.mjs → diff-database-schema-MYPfxeRf-DdgnOIIl.mjs} +17 -7
- package/dist/diff-database-schema-MYPfxeRf-DdgnOIIl.mjs.map +1 -0
- package/dist/{full-text-jDpkANi7.d.mts → full-text-Cth_mXe_.d.mts} +2 -2
- package/dist/{full-text-jDpkANi7.d.mts.map → full-text-Cth_mXe_.d.mts.map} +1 -1
- package/dist/{full-text-index-expression-PZszha7L-CW7i1TUY.mjs → full-text-index-expression-BM_vGygX-BOuja7X4.mjs} +3 -3
- package/dist/{full-text-index-expression-PZszha7L-CW7i1TUY.mjs.map → full-text-index-expression-BM_vGygX-BOuja7X4.mjs.map} +1 -1
- package/dist/{full-text-parsers-Dp_ANr31-DVxYUNS-.d.mts → full-text-parsers-CLZpb096-BN1xyHeO.d.mts} +3 -3
- package/dist/{full-text-parsers-Dp_ANr31-DVxYUNS-.d.mts.map → full-text-parsers-CLZpb096-BN1xyHeO.d.mts.map} +1 -1
- package/dist/{infer-psl-contract-MVBnqkl3-Bffp5RpV.mjs → infer-psl-contract-D7XJnfJv-Cd_Mf0UH.mjs} +78 -82
- package/dist/infer-psl-contract-D7XJnfJv-Cd_Mf0UH.mjs.map +1 -0
- package/dist/{issue-planner-D9rRu2pB.d.mts → issue-planner-C4iR-Ik-.d.mts} +2 -2
- package/dist/{issue-planner-D9rRu2pB.d.mts.map → issue-planner-C4iR-Ik-.d.mts.map} +1 -1
- package/dist/{migration-Du89zGmx.d.mts → migration-BTiY0PPC.d.mts} +3 -3
- package/dist/{migration-Du89zGmx.d.mts.map → migration-BTiY0PPC.d.mts.map} +1 -1
- package/dist/migration-PTHAY9Cv.mjs.map +1 -1
- package/dist/native-type-normalizer-BFo5tSyh.d.mts +37 -0
- package/dist/native-type-normalizer-BFo5tSyh.d.mts.map +1 -0
- package/dist/native-type-normalizer-CW6g9Fut-C5lMRRjS.mjs +102 -0
- package/dist/native-type-normalizer-CW6g9Fut-C5lMRRjS.mjs.map +1 -0
- package/dist/op-factory-call-Bi1XxJEv.d.mts +1 -0
- package/dist/{op-factory-call-t4k8mlRJ-BgtGXlIC.d.mts → op-factory-call-VLJFI-b_-Du23HNYc.d.mts} +5 -5
- package/dist/op-factory-call-VLJFI-b_-Du23HNYc.d.mts.map +1 -0
- package/dist/{op-factory-call-BBkvFvKK-7MkUHWJq.mjs → op-factory-call-y5YADY2E-CnhkIujC.mjs} +39 -26
- package/dist/op-factory-call-y5YADY2E-CnhkIujC.mjs.map +1 -0
- package/dist/{operation-types-DZyRBrnm.d.mts → operation-types-Cj4S6KNP.d.mts} +2 -2
- package/dist/{operation-types-DZyRBrnm.d.mts.map → operation-types-Cj4S6KNP.d.mts.map} +1 -1
- package/dist/{pack-B8SM_MTs.d.mts → pack-DO2bXv9P.d.mts} +3 -3
- package/dist/{pack-B8SM_MTs.d.mts.map → pack-DO2bXv9P.d.mts.map} +1 -1
- package/dist/{planner-Brs7-1mt-BFtbE0Tl.mjs → planner-DMVaXRSK-DCAGfALs.mjs} +6 -6
- package/dist/{planner-Brs7-1mt-BFtbE0Tl.mjs.map → planner-DMVaXRSK-DCAGfALs.mjs.map} +1 -1
- package/dist/{planner-o0_69Y9q.d.mts → planner-SLaWpf7q.d.mts} +2 -2
- package/dist/{planner-o0_69Y9q.d.mts.map → planner-SLaWpf7q.d.mts.map} +1 -1
- package/dist/{planner-ddl-builders-BQ_1YXut.d.mts → planner-ddl-builders-DYLyFXrj.d.mts} +2 -5
- package/dist/planner-ddl-builders-DYLyFXrj.d.mts.map +1 -0
- package/dist/{planner-ddl-builders-GTcVPpwb-ClvrXb26.mjs → planner-ddl-builders-iE35pyxA-g7b_clbn.mjs} +6 -27
- package/dist/planner-ddl-builders-iE35pyxA-g7b_clbn.mjs.map +1 -0
- package/dist/planner-produced-postgres-migration-Bi_Otmtx.d.mts +1 -0
- package/dist/{planner-produced-postgres-migration-DEJQPRjI-C9GuvVOY.mjs → planner-produced-postgres-migration-C8TUIl2Z-DHjubKQ-.mjs} +3 -3
- package/dist/{planner-produced-postgres-migration-DEJQPRjI-C9GuvVOY.mjs.map → planner-produced-postgres-migration-C8TUIl2Z-DHjubKQ-.mjs.map} +1 -1
- package/dist/{planner-produced-postgres-migration-Xd83anY_-vp2DJ5fk.d.mts → planner-produced-postgres-migration-CoOcn-b9-8kOq82_P.d.mts} +3 -3
- package/dist/planner-produced-postgres-migration-CoOcn-b9-8kOq82_P.d.mts.map +1 -0
- package/dist/{planner-sql-checks-Bd8nN9P8-Cd98iEee.mjs → planner-sql-checks-ZMXeCK6W-D1VMBywZ.mjs} +55 -15
- package/dist/planner-sql-checks-ZMXeCK6W-D1VMBywZ.mjs.map +1 -0
- package/dist/{postgres-contract-view-DxcRT-qe-LQBHHgaS.mjs → postgres-contract-view-BBMpf_qi-8V4vTm9U.mjs} +3 -3
- package/dist/{postgres-contract-view-DxcRT-qe-LQBHHgaS.mjs.map → postgres-contract-view-BBMpf_qi-8V4vTm9U.mjs.map} +1 -1
- package/dist/{postgres-migration-B7ihBnbW-DOmrgtms.d.mts → postgres-migration-B03W06rR-DTB0R3cj.d.mts} +4 -5
- package/dist/{postgres-migration-B7ihBnbW-DOmrgtms.d.mts.map → postgres-migration-B03W06rR-DTB0R3cj.d.mts.map} +1 -1
- package/dist/{postgres-migration-qwigEUIO-BWxjALsx.mjs → postgres-migration-UzDaU7Or-Dvc0Cdv5.mjs} +22 -5
- package/dist/postgres-migration-UzDaU7Or-Dvc0Cdv5.mjs.map +1 -0
- package/dist/{prisma7-binding-BRYHcWsx.mjs → prisma7-binding-D_Q6ou4j.mjs} +7 -6
- package/dist/prisma7-binding-D_Q6ou4j.mjs.map +1 -0
- package/dist/{prisma7-binding-1CMtcbOk.d.mts → prisma7-binding-c5vWJV6k.d.mts} +3 -3
- package/dist/{prisma7-binding-1CMtcbOk.d.mts.map → prisma7-binding-c5vWJV6k.d.mts.map} +1 -1
- package/dist/{runtime-aN2tMH8u.d.mts → runtime-Bm1hGqOh.d.mts} +2 -2
- package/dist/{runtime-aN2tMH8u.d.mts.map → runtime-Bm1hGqOh.d.mts.map} +1 -1
- package/dist/{sql-renderer-DmJ5aZwd.d.mts → sql-renderer-CfXWPuXU.d.mts} +4 -4
- package/dist/{sql-renderer-DmJ5aZwd.d.mts.map → sql-renderer-CfXWPuXU.d.mts.map} +1 -1
- package/dist/{sql-renderer-CgUgFbU4-CRUChEAY.mjs → sql-renderer-CgUgFbU4-DqTf31OD.mjs} +2 -2
- package/dist/{sql-renderer-CgUgFbU4-CRUChEAY.mjs.map → sql-renderer-CgUgFbU4-DqTf31OD.mjs.map} +1 -1
- package/dist/target.d.mts +23 -23
- package/dist/target.mjs +21 -22
- package/dist/target__codec-descriptor.d.mts +2 -2
- package/dist/target__codec-descriptor.mjs +1 -1
- package/dist/target__codec-types.d.mts +3 -3
- package/dist/target__codecs.d.mts +3 -3
- package/dist/target__codecs.mjs +3 -4
- package/dist/target__control.d.mts +2 -2
- package/dist/target__control.mjs +3 -3
- package/dist/target__data-types.mjs +2 -2
- package/dist/target__default-normalizer.mjs +1 -1
- package/dist/target__diff-database-schema.mjs +1 -1
- package/dist/target__full-text.d.mts +2 -2
- package/dist/target__issue-planner.d.mts +1 -1
- package/dist/target__issue-planner.mjs +1 -1
- package/dist/target__migration.d.mts +2 -2
- package/dist/target__migration.mjs +2 -2
- package/dist/target__native-type-normalizer.d.mts +2 -2
- package/dist/target__native-type-normalizer.mjs +2 -2
- package/dist/target__op-factory-call.d.mts +2 -2
- package/dist/target__op-factory-call.mjs +1 -1
- package/dist/target__operation-types.d.mts +1 -1
- package/dist/target__pack.d.mts +1 -1
- package/dist/target__pack.mjs +1 -1
- package/dist/target__planner-ddl-builders.d.mts +2 -2
- package/dist/target__planner-ddl-builders.mjs +2 -2
- package/dist/target__planner-produced-postgres-migration.d.mts +2 -2
- package/dist/target__planner-produced-postgres-migration.mjs +1 -1
- package/dist/target__planner-sql-checks.mjs +1 -1
- package/dist/target__planner.d.mts +1 -1
- package/dist/target__planner.mjs +2 -2
- package/dist/target__prisma7-binding.d.mts +1 -1
- package/dist/target__prisma7-binding.mjs +1 -1
- package/dist/target__runtime.mjs +2 -2
- package/dist/target__runtime.mjs.map +1 -1
- package/dist/target__sql-utils.mjs +1 -1
- package/dist/{types-BPubHbiE-mnhvO20x.d.mts → types-BPubHbiE-SaR3Cngi.d.mts} +3 -3
- package/dist/{types-BPubHbiE-mnhvO20x.d.mts.map → types-BPubHbiE-SaR3Cngi.d.mts.map} +1 -1
- package/dist/types-DvEixgWS.d.mts +2 -0
- package/package.json +9 -9
- package/dist/codec-descriptor-BfoHQP3R-CMRVT-F6.mjs.map +0 -1
- package/dist/codec-descriptor-Cf1qfOwo.d.mts +0 -1
- package/dist/codec-descriptor-DUUGoeyI-WGLGXEoI.d.mts.map +0 -1
- package/dist/codec-types-BXbWuRzS.d.mts +0 -2
- package/dist/codecs-C4DVdgQG.mjs.map +0 -1
- package/dist/codecs-DQGmsnk3-H6nVRPCC.mjs.map +0 -1
- package/dist/control-CDRHOvkm.d.mts +0 -12
- package/dist/control-CDRHOvkm.d.mts.map +0 -1
- package/dist/control-DxJWBVjs.d.mts.map +0 -1
- package/dist/control-adapter-Buuq3v1c-DtBZerak.mjs.map +0 -1
- package/dist/control-policy-BYo5QPof-BLT07t1y.mjs.map +0 -1
- package/dist/control-w3p4NYNx.mjs.map +0 -1
- package/dist/data-types-Cl18KnNY-5I34Vd6Z.mjs.map +0 -1
- package/dist/default-normalizer-Bp3IhMR9-D0uYVRLZ.mjs.map +0 -1
- package/dist/descriptor-meta-F1wsOtt2-D014LIGM.mjs.map +0 -1
- package/dist/diff-database-schema-BP4uAPZZ-8ljuCPav.mjs.map +0 -1
- package/dist/infer-psl-contract-MVBnqkl3-Bffp5RpV.mjs.map +0 -1
- package/dist/native-type-normalizer-DqJlOTeX.d.mts +0 -19
- package/dist/native-type-normalizer-DqJlOTeX.d.mts.map +0 -1
- package/dist/native-type-normalizer-yvd3tqv-.mjs +0 -38
- package/dist/native-type-normalizer-yvd3tqv-.mjs.map +0 -1
- package/dist/op-factory-call-7Dtfo3GK.d.mts +0 -1
- package/dist/op-factory-call-BBkvFvKK-7MkUHWJq.mjs.map +0 -1
- package/dist/op-factory-call-t4k8mlRJ-BgtGXlIC.d.mts.map +0 -1
- package/dist/planner-ddl-builders-BQ_1YXut.d.mts.map +0 -1
- package/dist/planner-ddl-builders-GTcVPpwb-ClvrXb26.mjs.map +0 -1
- package/dist/planner-produced-postgres-migration-B0pwyA94.d.mts +0 -1
- package/dist/planner-produced-postgres-migration-Xd83anY_-vp2DJ5fk.d.mts.map +0 -1
- package/dist/planner-sql-checks-Bd8nN9P8-Cd98iEee.mjs.map +0 -1
- package/dist/postgres-migration-qwigEUIO-BWxjALsx.mjs.map +0 -1
- package/dist/prisma7-binding-BRYHcWsx.mjs.map +0 -1
- package/dist/registry-ld2ZUt1j-CH85fY3r.mjs +0 -15
- package/dist/registry-ld2ZUt1j-CH85fY3r.mjs.map +0 -1
- package/dist/types-CS-qi6YZ.d.mts +0 -2
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
//#region ../../../3-targets/3-targets/postgres/dist/native-type-normalizer-CW6g9Fut.mjs
|
|
2
|
+
/**
|
|
3
|
+
* Postgres native-type normalization.
|
|
4
|
+
*
|
|
5
|
+
* Lives in `target-postgres` because both the migration planner/runner (control
|
|
6
|
+
* plane) and the introspection adapter (control plane) need to normalize raw
|
|
7
|
+
* native-type strings to the same canonical form for comparison.
|
|
8
|
+
*/
|
|
9
|
+
/** PostgreSQL's other names for a type, each with the name introspection reports it under. */
|
|
10
|
+
const TYPE_NAME_ALIASES = /* @__PURE__ */ new Map([
|
|
11
|
+
["char", "character"],
|
|
12
|
+
["bpchar", "character"],
|
|
13
|
+
["varchar", "character varying"],
|
|
14
|
+
["varbit", "bit varying"],
|
|
15
|
+
["int", "int4"],
|
|
16
|
+
["integer", "int4"],
|
|
17
|
+
["smallint", "int2"],
|
|
18
|
+
["bigint", "int8"],
|
|
19
|
+
["real", "float4"],
|
|
20
|
+
["double precision", "float8"],
|
|
21
|
+
["float", "float8"],
|
|
22
|
+
["boolean", "bool"],
|
|
23
|
+
["decimal", "numeric"]
|
|
24
|
+
]);
|
|
25
|
+
/** The types that take ` with time zone`, each with the name it has with one. */
|
|
26
|
+
const WITH_TIME_ZONE = /* @__PURE__ */ new Map([["timestamp", "timestamptz"], ["time", "timetz"]]);
|
|
27
|
+
const NATIVE_TYPE_PARTS = /^([a-z][a-z ]*?)(\([^)]*\))?( with time zone| without time zone)?$/;
|
|
28
|
+
/**
|
|
29
|
+
* `nativeType` named as introspection reports it, on the contract side and the introspected side alike: an alias under PostgreSQL's canonical name (`char(3)` is `character(3)`, `int` is `int4`), `timestamp(3) with time zone` as `timestamptz(3)`, `time without time zone` as `time`, and a list type's element the same way. A `float` with a precision is `real` or `double precision` depending on it, so it is left as written, and so is a name this does not describe, such as a user-defined type.
|
|
30
|
+
*/
|
|
31
|
+
function normalizeSchemaNativeType(nativeType) {
|
|
32
|
+
const trimmed = nativeType.trim();
|
|
33
|
+
if (trimmed.endsWith("[]")) return `${normalizeSchemaNativeType(trimmed.slice(0, -2))}[]`;
|
|
34
|
+
const parts = NATIVE_TYPE_PARTS.exec(trimmed);
|
|
35
|
+
if (parts === null) return trimmed;
|
|
36
|
+
const [, base = "", modifier = "", zone = ""] = parts;
|
|
37
|
+
if (zone !== "") {
|
|
38
|
+
const zoned = WITH_TIME_ZONE.get(base);
|
|
39
|
+
if (zoned === void 0) return trimmed;
|
|
40
|
+
return `${zone === " with time zone" ? zoned : base}${modifier}`;
|
|
41
|
+
}
|
|
42
|
+
if (base === "float" && modifier !== "") return trimmed;
|
|
43
|
+
return `${TYPE_NAME_ALIASES.get(base) ?? base}${modifier}`;
|
|
44
|
+
}
|
|
45
|
+
/** The types PostgreSQL stores with a length of 1 when none is written, and reports that way. */
|
|
46
|
+
const LENGTH_ONE_WHEN_BARE = /* @__PURE__ */ new Set(["character", "bit"]);
|
|
47
|
+
/** A normalized type name with the length PostgreSQL gives `character` and `bit` when none is written. */
|
|
48
|
+
function withLengthOneWhenBare(typeName) {
|
|
49
|
+
return LENGTH_ONE_WHEN_BARE.has(typeName) ? `${typeName}(1)` : typeName;
|
|
50
|
+
}
|
|
51
|
+
/** The native type introspection reports for a column, from its catalog type columns. */
|
|
52
|
+
function introspectedNativeType(column) {
|
|
53
|
+
const reported = reportedNativeType(column);
|
|
54
|
+
const many = reported.endsWith("[]") ? true : void 0;
|
|
55
|
+
const nativeType = many ? normalizeSchemaNativeType(reported.slice(0, -2)) : reported;
|
|
56
|
+
return {
|
|
57
|
+
nativeType,
|
|
58
|
+
many,
|
|
59
|
+
resolvedNativeType: `${normalizeSchemaNativeType(nativeType)}${many ? "[]" : ""}`
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
function reportedNativeType(column) {
|
|
63
|
+
if (column.formattedType) return normalizeFormattedType(column.formattedType);
|
|
64
|
+
if (column.dataType === "character varying" || column.dataType === "character") return column.characterMaximumLength ? `${column.dataType}(${column.characterMaximumLength})` : column.dataType;
|
|
65
|
+
if (column.dataType === "numeric" || column.dataType === "decimal") {
|
|
66
|
+
if (column.numericPrecision && column.numericScale !== null) return `${column.dataType}(${column.numericPrecision},${column.numericScale})`;
|
|
67
|
+
return column.numericPrecision ? `${column.dataType}(${column.numericPrecision})` : column.dataType;
|
|
68
|
+
}
|
|
69
|
+
return column.udtName || column.dataType;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* `format_type`'s name for a column type, named as the contract names it: a built-in type through {@link normalizeSchemaNativeType}, and a user-defined type, which `format_type` quotes where it needs to (mixed case, a reserved word, a dot) and schema-qualifies outside the search path, with each identifier unquoted.
|
|
73
|
+
*/
|
|
74
|
+
function normalizeFormattedType(formattedType) {
|
|
75
|
+
if (formattedType.endsWith("[]")) return `${normalizeFormattedType(formattedType.slice(0, -2))}[]`;
|
|
76
|
+
const normalized = normalizeSchemaNativeType(formattedType);
|
|
77
|
+
if (normalized !== formattedType) return normalized;
|
|
78
|
+
return splitQualifiedName(formattedType).map(unquoteIdentifier).join(".");
|
|
79
|
+
}
|
|
80
|
+
function splitQualifiedName(name) {
|
|
81
|
+
const segments = [];
|
|
82
|
+
let current = "";
|
|
83
|
+
let quoted = false;
|
|
84
|
+
for (const char of name) {
|
|
85
|
+
if (char === "\"") quoted = !quoted;
|
|
86
|
+
if (char === "." && !quoted) {
|
|
87
|
+
segments.push(current);
|
|
88
|
+
current = "";
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
current += char;
|
|
92
|
+
}
|
|
93
|
+
segments.push(current);
|
|
94
|
+
return segments;
|
|
95
|
+
}
|
|
96
|
+
function unquoteIdentifier(segment) {
|
|
97
|
+
return segment.length >= 2 && segment.startsWith("\"") && segment.endsWith("\"") ? segment.slice(1, -1).replaceAll("\"\"", "\"") : segment;
|
|
98
|
+
}
|
|
99
|
+
//#endregion
|
|
100
|
+
export { normalizeSchemaNativeType as n, withLengthOneWhenBare as r, introspectedNativeType as t };
|
|
101
|
+
|
|
102
|
+
//# sourceMappingURL=native-type-normalizer-CW6g9Fut-C5lMRRjS.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-type-normalizer-CW6g9Fut-C5lMRRjS.mjs","names":[],"sources":["../../../../3-targets/3-targets/postgres/dist/native-type-normalizer-CW6g9Fut.mjs"],"sourcesContent":["//#region src/core/native-type-normalizer.ts\n/**\n* Postgres native-type normalization.\n*\n* Lives in `target-postgres` because both the migration planner/runner (control\n* plane) and the introspection adapter (control plane) need to normalize raw\n* native-type strings to the same canonical form for comparison.\n*/\n/** PostgreSQL's other names for a type, each with the name introspection reports it under. */\nconst TYPE_NAME_ALIASES = /* @__PURE__ */ new Map([\n\t[\"char\", \"character\"],\n\t[\"bpchar\", \"character\"],\n\t[\"varchar\", \"character varying\"],\n\t[\"varbit\", \"bit varying\"],\n\t[\"int\", \"int4\"],\n\t[\"integer\", \"int4\"],\n\t[\"smallint\", \"int2\"],\n\t[\"bigint\", \"int8\"],\n\t[\"real\", \"float4\"],\n\t[\"double precision\", \"float8\"],\n\t[\"float\", \"float8\"],\n\t[\"boolean\", \"bool\"],\n\t[\"decimal\", \"numeric\"]\n]);\n/** The types that take ` with time zone`, each with the name it has with one. */\nconst WITH_TIME_ZONE = /* @__PURE__ */ new Map([[\"timestamp\", \"timestamptz\"], [\"time\", \"timetz\"]]);\nconst NATIVE_TYPE_PARTS = /^([a-z][a-z ]*?)(\\([^)]*\\))?( with time zone| without time zone)?$/;\n/**\n* `nativeType` named as introspection reports it, on the contract side and the introspected side alike: an alias under PostgreSQL's canonical name (`char(3)` is `character(3)`, `int` is `int4`), `timestamp(3) with time zone` as `timestamptz(3)`, `time without time zone` as `time`, and a list type's element the same way. A `float` with a precision is `real` or `double precision` depending on it, so it is left as written, and so is a name this does not describe, such as a user-defined type.\n*/\nfunction normalizeSchemaNativeType(nativeType) {\n\tconst trimmed = nativeType.trim();\n\tif (trimmed.endsWith(\"[]\")) return `${normalizeSchemaNativeType(trimmed.slice(0, -2))}[]`;\n\tconst parts = NATIVE_TYPE_PARTS.exec(trimmed);\n\tif (parts === null) return trimmed;\n\tconst [, base = \"\", modifier = \"\", zone = \"\"] = parts;\n\tif (zone !== \"\") {\n\t\tconst zoned = WITH_TIME_ZONE.get(base);\n\t\tif (zoned === void 0) return trimmed;\n\t\treturn `${zone === \" with time zone\" ? zoned : base}${modifier}`;\n\t}\n\tif (base === \"float\" && modifier !== \"\") return trimmed;\n\treturn `${TYPE_NAME_ALIASES.get(base) ?? base}${modifier}`;\n}\n/** The types PostgreSQL stores with a length of 1 when none is written, and reports that way. */\nconst LENGTH_ONE_WHEN_BARE = /* @__PURE__ */ new Set([\"character\", \"bit\"]);\n/** A normalized type name with the length PostgreSQL gives `character` and `bit` when none is written. */\nfunction withLengthOneWhenBare(typeName) {\n\treturn LENGTH_ONE_WHEN_BARE.has(typeName) ? `${typeName}(1)` : typeName;\n}\n/** The native type introspection reports for a column, from its catalog type columns. */\nfunction introspectedNativeType(column) {\n\tconst reported = reportedNativeType(column);\n\tconst many = reported.endsWith(\"[]\") ? true : void 0;\n\tconst nativeType = many ? normalizeSchemaNativeType(reported.slice(0, -2)) : reported;\n\treturn {\n\t\tnativeType,\n\t\tmany,\n\t\tresolvedNativeType: `${normalizeSchemaNativeType(nativeType)}${many ? \"[]\" : \"\"}`\n\t};\n}\nfunction reportedNativeType(column) {\n\tif (column.formattedType) return normalizeFormattedType(column.formattedType);\n\tif (column.dataType === \"character varying\" || column.dataType === \"character\") return column.characterMaximumLength ? `${column.dataType}(${column.characterMaximumLength})` : column.dataType;\n\tif (column.dataType === \"numeric\" || column.dataType === \"decimal\") {\n\t\tif (column.numericPrecision && column.numericScale !== null) return `${column.dataType}(${column.numericPrecision},${column.numericScale})`;\n\t\treturn column.numericPrecision ? `${column.dataType}(${column.numericPrecision})` : column.dataType;\n\t}\n\treturn column.udtName || column.dataType;\n}\n/**\n* `format_type`'s name for a column type, named as the contract names it: a built-in type through {@link normalizeSchemaNativeType}, and a user-defined type, which `format_type` quotes where it needs to (mixed case, a reserved word, a dot) and schema-qualifies outside the search path, with each identifier unquoted.\n*/\nfunction normalizeFormattedType(formattedType) {\n\tif (formattedType.endsWith(\"[]\")) return `${normalizeFormattedType(formattedType.slice(0, -2))}[]`;\n\tconst normalized = normalizeSchemaNativeType(formattedType);\n\tif (normalized !== formattedType) return normalized;\n\treturn splitQualifiedName(formattedType).map(unquoteIdentifier).join(\".\");\n}\nfunction splitQualifiedName(name) {\n\tconst segments = [];\n\tlet current = \"\";\n\tlet quoted = false;\n\tfor (const char of name) {\n\t\tif (char === \"\\\"\") quoted = !quoted;\n\t\tif (char === \".\" && !quoted) {\n\t\t\tsegments.push(current);\n\t\t\tcurrent = \"\";\n\t\t\tcontinue;\n\t\t}\n\t\tcurrent += char;\n\t}\n\tsegments.push(current);\n\treturn segments;\n}\nfunction unquoteIdentifier(segment) {\n\treturn segment.length >= 2 && segment.startsWith(\"\\\"\") && segment.endsWith(\"\\\"\") ? segment.slice(1, -1).replaceAll(\"\\\"\\\"\", \"\\\"\") : segment;\n}\n//#endregion\nexport { normalizeSchemaNativeType as n, withLengthOneWhenBare as r, introspectedNativeType as t };\n\n//# sourceMappingURL=native-type-normalizer-CW6g9Fut.mjs.map"],"mappings":";;;;;;;;;AASA,MAAM,oCAAoC,IAAI,IAAI;CACjD,CAAC,QAAQ,WAAW;CACpB,CAAC,UAAU,WAAW;CACtB,CAAC,WAAW,mBAAmB;CAC/B,CAAC,UAAU,aAAa;CACxB,CAAC,OAAO,MAAM;CACd,CAAC,WAAW,MAAM;CAClB,CAAC,YAAY,MAAM;CACnB,CAAC,UAAU,MAAM;CACjB,CAAC,QAAQ,QAAQ;CACjB,CAAC,oBAAoB,QAAQ;CAC7B,CAAC,SAAS,QAAQ;CAClB,CAAC,WAAW,MAAM;CAClB,CAAC,WAAW,SAAS;AACtB,CAAC;;AAED,MAAM,iCAAiC,IAAI,IAAI,CAAC,CAAC,aAAa,aAAa,GAAG,CAAC,QAAQ,QAAQ,CAAC,CAAC;AACjG,MAAM,oBAAoB;;;;AAI1B,SAAS,0BAA0B,YAAY;CAC9C,MAAM,UAAU,WAAW,KAAK;CAChC,IAAI,QAAQ,SAAS,IAAI,GAAG,OAAO,GAAG,0BAA0B,QAAQ,MAAM,GAAG,EAAE,CAAC,EAAE;CACtF,MAAM,QAAQ,kBAAkB,KAAK,OAAO;CAC5C,IAAI,UAAU,MAAM,OAAO;CAC3B,MAAM,GAAG,OAAO,IAAI,WAAW,IAAI,OAAO,MAAM;CAChD,IAAI,SAAS,IAAI;EAChB,MAAM,QAAQ,eAAe,IAAI,IAAI;EACrC,IAAI,UAAU,KAAK,GAAG,OAAO;EAC7B,OAAO,GAAG,SAAS,oBAAoB,QAAQ,OAAO;CACvD;CACA,IAAI,SAAS,WAAW,aAAa,IAAI,OAAO;CAChD,OAAO,GAAG,kBAAkB,IAAI,IAAI,KAAK,OAAO;AACjD;;AAEA,MAAM,uCAAuC,IAAI,IAAI,CAAC,aAAa,KAAK,CAAC;;AAEzE,SAAS,sBAAsB,UAAU;CACxC,OAAO,qBAAqB,IAAI,QAAQ,IAAI,GAAG,SAAS,OAAO;AAChE;;AAEA,SAAS,uBAAuB,QAAQ;CACvC,MAAM,WAAW,mBAAmB,MAAM;CAC1C,MAAM,OAAO,SAAS,SAAS,IAAI,IAAI,OAAO,KAAK;CACnD,MAAM,aAAa,OAAO,0BAA0B,SAAS,MAAM,GAAG,EAAE,CAAC,IAAI;CAC7E,OAAO;EACN;EACA;EACA,oBAAoB,GAAG,0BAA0B,UAAU,IAAI,OAAO,OAAO;CAC9E;AACD;AACA,SAAS,mBAAmB,QAAQ;CACnC,IAAI,OAAO,eAAe,OAAO,uBAAuB,OAAO,aAAa;CAC5E,IAAI,OAAO,aAAa,uBAAuB,OAAO,aAAa,aAAa,OAAO,OAAO,yBAAyB,GAAG,OAAO,SAAS,GAAG,OAAO,uBAAuB,KAAK,OAAO;CACvL,IAAI,OAAO,aAAa,aAAa,OAAO,aAAa,WAAW;EACnE,IAAI,OAAO,oBAAoB,OAAO,iBAAiB,MAAM,OAAO,GAAG,OAAO,SAAS,GAAG,OAAO,iBAAiB,GAAG,OAAO,aAAa;EACzI,OAAO,OAAO,mBAAmB,GAAG,OAAO,SAAS,GAAG,OAAO,iBAAiB,KAAK,OAAO;CAC5F;CACA,OAAO,OAAO,WAAW,OAAO;AACjC;;;;AAIA,SAAS,uBAAuB,eAAe;CAC9C,IAAI,cAAc,SAAS,IAAI,GAAG,OAAO,GAAG,uBAAuB,cAAc,MAAM,GAAG,EAAE,CAAC,EAAE;CAC/F,MAAM,aAAa,0BAA0B,aAAa;CAC1D,IAAI,eAAe,eAAe,OAAO;CACzC,OAAO,mBAAmB,aAAa,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,KAAK,GAAG;AACzE;AACA,SAAS,mBAAmB,MAAM;CACjC,MAAM,WAAW,CAAC;CAClB,IAAI,UAAU;CACd,IAAI,SAAS;CACb,KAAK,MAAM,QAAQ,MAAM;EACxB,IAAI,SAAS,MAAM,SAAS,CAAC;EAC7B,IAAI,SAAS,OAAO,CAAC,QAAQ;GAC5B,SAAS,KAAK,OAAO;GACrB,UAAU;GACV;EACD;EACA,WAAW;CACZ;CACA,SAAS,KAAK,OAAO;CACrB,OAAO;AACR;AACA,SAAS,kBAAkB,SAAS;CACnC,OAAO,QAAQ,UAAU,KAAK,QAAQ,WAAW,IAAI,KAAK,QAAQ,SAAS,IAAI,IAAI,QAAQ,MAAM,GAAG,EAAE,CAAC,CAAC,WAAW,QAAQ,IAAI,IAAI;AACpI"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./op-factory-call-VLJFI-b_-Du23HNYc.mjs";
|
package/dist/{op-factory-call-t4k8mlRJ-BgtGXlIC.d.mts → op-factory-call-VLJFI-b_-Du23HNYc.d.mts}
RENAMED
|
@@ -7,7 +7,7 @@ import { MigrationOperationClass, OpFactoryCall } from "@prisma/orm-framework/co
|
|
|
7
7
|
import { CodecControlHooks, SqlMigrationPlanOperation } from "@prisma/orm-family-sql/family/control";
|
|
8
8
|
import { ImportRequirement, TsExpression } from "@prisma/orm-framework/ts-render";
|
|
9
9
|
import { ExecuteRequestLowerer, Lowerer } from "@prisma/orm-family-sql/family/control-adapter";
|
|
10
|
-
//#region ../../../3-targets/3-targets/postgres/dist/op-factory-call-
|
|
10
|
+
//#region ../../../3-targets/3-targets/postgres/dist/op-factory-call-VLJFI-b_.d.mts
|
|
11
11
|
//#region src/core/migrations/operations/shared.d.ts
|
|
12
12
|
type Op$1 = SqlMigrationPlanOperation<PostgresPlanTargetDetails>;
|
|
13
13
|
/**
|
|
@@ -156,10 +156,10 @@ declare class SetDefaultCall extends PostgresOpFactoryCallNode {
|
|
|
156
156
|
readonly operationClass: 'additive' | 'widening';
|
|
157
157
|
readonly schemaName: string;
|
|
158
158
|
readonly tableName: string;
|
|
159
|
-
|
|
160
|
-
readonly
|
|
159
|
+
/** The column with the default to set, its type and its codec; the adapter writes the clause. */
|
|
160
|
+
readonly column: DdlColumn;
|
|
161
161
|
readonly label: string;
|
|
162
|
-
constructor(schemaName: string, tableName: string,
|
|
162
|
+
constructor(schemaName: string, tableName: string, column: DdlColumn, operationClass?: 'additive' | 'widening');
|
|
163
163
|
toOp(lowerer?: ExecuteRequestLowerer): Promise<Op>;
|
|
164
164
|
renderTypeScript(): string;
|
|
165
165
|
importRequirements(): readonly ImportRequirement[];
|
|
@@ -531,4 +531,4 @@ declare class RenamePostgresRlsPolicyCall extends PostgresOpFactoryCallNode {
|
|
|
531
531
|
type PostgresOpFactoryCall = CreateTableCall | DropTableCall | AddColumnCall | DropColumnCall | AlterColumnTypeCall | SetNotNullCall | DropNotNullCall | SetDefaultCall | DropDefaultCall | AddNotNullColumnDirectCall | AddNotNullColumnWithTempDefaultCall | AddPrimaryKeyCall | AddForeignKeyCall | AddUniqueCall | AddCheckConstraintCall | RenameCheckConstraintCall | DropCheckConstraintCall | CreateIndexCall | RenameIndexCall | DropIndexCall | DropConstraintCall | RawSqlCall | CreateExtensionCall | CreateSchemaCall | CreateNativeEnumTypeCall | DropNativeEnumTypeCall | AddNativeEnumValueCall | CreatePostgresRlsPolicyCall | DropPostgresRlsPolicyCall | EnableRowLevelSecurityCall | DisableRowLevelSecurityCall | RenamePostgresRlsPolicyCall | DataTransformCall;
|
|
532
532
|
//#endregion
|
|
533
533
|
export { Op$1 as A, DropIndexCall as C, DropTableCall as D, DropPostgresRlsPolicyCall as E, RenamePostgresRlsPolicyCall as F, SetDefaultCall as I, SetNotNullCall as L, RawSqlCall as M, RenameCheckConstraintCall as N, EnableRowLevelSecurityCall as O, RenameIndexCall as P, DropDefaultCall as S, DropNotNullCall as T, DataTransformCall as _, AddNotNullColumnWithTempDefaultCall as a, DropColumnCall as b, AlterColumnTypeCall as c, CreateIndexCall as d, CreateIndexExtras as f, CreateTableCall as g, CreateSchemaCall as h, AddNativeEnumValueCall as i, PostgresOpFactoryCall as j, ForeignKeySpec as k, AlterColumnTypeOptions as l, CreatePostgresRlsPolicyCall as m, AddColumnCall as n, AddPrimaryKeyCall as o, CreateNativeEnumTypeCall as p, AddForeignKeyCall as r, AddUniqueCall as s, AddCheckConstraintCall as t, CreateExtensionCall as u, DisableRowLevelSecurityCall as v, DropNativeEnumTypeCall as w, DropConstraintCall as x, DropCheckConstraintCall as y };
|
|
534
|
-
//# sourceMappingURL=op-factory-call-
|
|
534
|
+
//# sourceMappingURL=op-factory-call-VLJFI-b_-Du23HNYc.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"op-factory-call-VLJFI-b_-Du23HNYc.d.mts","names":[],"sources":["../../../../3-targets/3-targets/postgres/dist/op-factory-call-VLJFI-b_.d.mts"],"mappings":"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"}
|
package/dist/{op-factory-call-BBkvFvKK-7MkUHWJq.mjs → op-factory-call-y5YADY2E-CnhkIujC.mjs}
RENAMED
|
@@ -2,9 +2,9 @@ import { s as postgresError } from "./errors-DYyzTYzE-39CV_aMo.mjs";
|
|
|
2
2
|
import { t as DEFAULT_NAMESPACE_ID } from "./namespace-ids-xtp_ZY86-Cpp8PTxD.mjs";
|
|
3
3
|
import { a as validateEnumValueLength, i as quoteQualifiedName, r as quoteIdentifier, t as escapeLiteral } from "./sql-utils-Bh-mnsSY-D6hnFPrP.mjs";
|
|
4
4
|
import { C as nativeEnumValueExistsAst, D as tableExistsAst, E as rlsPolicyExistsAst, O as tableIsEmptyAst, S as nativeEnumTypeExistsAst, T as rlsEnabledAst, _ as dropIndex$1, a as columnDefaultAst, b as extensionExistsAst, c as columnTypeAst, d as createPolicy, f as createSchema, g as dropDefaultAction, h as disableRowLevelSecurity$1, i as alterTable, l as constraintExistsAst, m as createType, n as alterIndexRename, o as columnExistsAst, p as createTable, r as alterPolicyRename, s as columnNullabilityAst, t as addColumnAction, u as createIndex$1, v as dropPolicy, w as noNullValuesAst, x as indexExistsAst, y as dropType } from "./ddl-BEslwyjE-CzNPjhh1.mjs";
|
|
5
|
-
import { n as qualifyTableName } from "./planner-sql-checks-
|
|
6
|
-
import {
|
|
7
|
-
import { FunctionColumnDefault, LiteralColumnDefault } from "@prisma/orm-family-sql/relational-core/ast";
|
|
5
|
+
import { n as qualifyTableName } from "./planner-sql-checks-ZMXeCK6W-D1VMBywZ.mjs";
|
|
6
|
+
import { t as buildColumnTypeSql } from "./planner-ddl-builders-iE35pyxA-g7b_clbn.mjs";
|
|
7
|
+
import { DdlColumn, FunctionColumnDefault, LiteralColumnDefault } from "@prisma/orm-family-sql/relational-core/ast";
|
|
8
8
|
import { blindCast } from "@prisma/orm-framework/utils/casts";
|
|
9
9
|
import { UNBOUND_NAMESPACE_ID } from "@prisma/orm-framework/components/ir";
|
|
10
10
|
import { ifDefined } from "@prisma/orm-framework/utils/defined";
|
|
@@ -14,7 +14,7 @@ import { InternalError, assertNever } from "@prisma/orm-framework/utils/internal
|
|
|
14
14
|
import { errorUnfilledPlaceholder } from "@prisma/orm-framework/errors/migration";
|
|
15
15
|
import { TsExpression, jsonToTsSource } from "@prisma/orm-framework/ts-render";
|
|
16
16
|
import { REFERENTIAL_ACTION_SQL } from "@prisma/orm-family-sql/contract/referential-action-sql";
|
|
17
|
-
//#region ../../../3-targets/3-targets/postgres/dist/op-factory-call-
|
|
17
|
+
//#region ../../../3-targets/3-targets/postgres/dist/op-factory-call-y5YADY2E.mjs
|
|
18
18
|
/**
|
|
19
19
|
* Maps a planner schema name to the contract-free DDL builder's optional
|
|
20
20
|
* `schema` field: the unbound sentinel becomes `undefined` (the builder omits
|
|
@@ -150,35 +150,39 @@ async function dropNotNull(schemaName, tableName, columnName, lowerer) {
|
|
|
150
150
|
};
|
|
151
151
|
}
|
|
152
152
|
/**
|
|
153
|
-
* `
|
|
154
|
-
*
|
|
155
|
-
* `"DEFAULT (CURRENT_TIMESTAMP)"`, or `"DEFAULT nextval('seq'::regclass)"`.
|
|
153
|
+
* Sets `column`'s default. The adapter writes the `DEFAULT …` clause, reading a literal default with
|
|
154
|
+
* the column's codec first, as every DDL statement that writes a default does.
|
|
156
155
|
*
|
|
157
156
|
* `operationClass` defaults to `'additive'` (setting a default on a column
|
|
158
157
|
* that currently has none). The reconciliation planner passes `'widening'`
|
|
159
158
|
* when the column already has a different default — policy enforcement
|
|
160
|
-
* treats that as a widening change rather than an additive one.
|
|
159
|
+
* treats that as a widening change rather than an additive one. A widening
|
|
160
|
+
* change has no postcheck: the old default would pass a check for a default,
|
|
161
|
+
* and the runner skips an operation whose postcheck already passes. Setting a
|
|
162
|
+
* default again is harmless.
|
|
161
163
|
*/
|
|
162
|
-
async function setDefault(schemaName, tableName,
|
|
164
|
+
async function setDefault(schemaName, tableName, column, lowerer, operationClass = "additive") {
|
|
165
|
+
const columnName = column.name;
|
|
163
166
|
const qualified = qualifyTableName(schemaName, tableName);
|
|
167
|
+
const clause = await lowerer.renderColumnDefault(column, tableName);
|
|
164
168
|
const { present } = await columnExistsSteps(lowerer, {
|
|
165
169
|
schema: schemaName,
|
|
166
170
|
table: tableName,
|
|
167
171
|
column: columnName
|
|
168
172
|
});
|
|
169
|
-
const hasDefault = await lowerer.lowerToExecuteRequest(columnDefaultAst({
|
|
173
|
+
const hasDefault = operationClass === "additive" ? await lowerer.lowerToExecuteRequest(columnDefaultAst({
|
|
170
174
|
schema: schemaName,
|
|
171
175
|
table: tableName,
|
|
172
176
|
column: columnName
|
|
173
|
-
}).defaultPresent());
|
|
177
|
+
}).defaultPresent()) : void 0;
|
|
174
178
|
return {
|
|
175
179
|
id: `setDefault.${tableName}.${columnName}`,
|
|
176
180
|
label: `Set default on "${tableName}"."${columnName}"`,
|
|
177
181
|
operationClass,
|
|
178
182
|
target: targetDetails("column", columnName, schemaName, tableName),
|
|
179
183
|
precheck: [step(`ensure column "${columnName}" exists`, present.sql, present.params)],
|
|
180
|
-
execute: [step(`set default on "${columnName}"`, `ALTER TABLE ${qualified} ALTER COLUMN ${quoteIdentifier(columnName)} SET ${
|
|
181
|
-
postcheck: [step(`verify column "${columnName}" has a default`, hasDefault.sql, hasDefault.params)]
|
|
184
|
+
execute: [step(`set default on "${columnName}"`, `ALTER TABLE ${qualified} ALTER COLUMN ${quoteIdentifier(columnName)} SET ${clause}`)],
|
|
185
|
+
postcheck: hasDefault === void 0 ? [] : [step(`verify column "${columnName}" has a default`, hasDefault.sql, hasDefault.params)]
|
|
182
186
|
};
|
|
183
187
|
}
|
|
184
188
|
async function dropDefault(schemaName, tableName, columnName, lowerer) {
|
|
@@ -1181,34 +1185,38 @@ var SetDefaultCall = class extends PostgresOpFactoryCallNode {
|
|
|
1181
1185
|
operationClass;
|
|
1182
1186
|
schemaName;
|
|
1183
1187
|
tableName;
|
|
1184
|
-
|
|
1185
|
-
|
|
1188
|
+
/** The column with the default to set, its type and its codec; the adapter writes the clause. */
|
|
1189
|
+
column;
|
|
1186
1190
|
label;
|
|
1187
|
-
constructor(schemaName, tableName,
|
|
1191
|
+
constructor(schemaName, tableName, column, operationClass = "additive") {
|
|
1188
1192
|
super();
|
|
1189
1193
|
this.schemaName = schemaName;
|
|
1190
1194
|
this.tableName = tableName;
|
|
1191
|
-
this.
|
|
1192
|
-
this.defaultSql = defaultSql;
|
|
1195
|
+
this.column = column;
|
|
1193
1196
|
this.operationClass = operationClass;
|
|
1194
|
-
this.label = `Set default on "${tableName}"."${
|
|
1197
|
+
this.label = `Set default on "${tableName}"."${column.name}"`;
|
|
1195
1198
|
this.freeze();
|
|
1196
1199
|
}
|
|
1197
1200
|
async toOp(lowerer) {
|
|
1198
|
-
if (lowerer === void 0) throw postgresError("MIGRATION.POSTGRES_CONTROL_STACK_MISSING", `SetDefaultCall.toOp: a lowerer is required on the Postgres planner path (column "${this.
|
|
1199
|
-
return setDefault(this.schemaName, this.tableName, this.
|
|
1201
|
+
if (lowerer === void 0) throw postgresError("MIGRATION.POSTGRES_CONTROL_STACK_MISSING", `SetDefaultCall.toOp: a lowerer is required on the Postgres planner path (column "${this.column.name}" on table "${this.tableName}"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: "SetDefaultCall" } });
|
|
1202
|
+
return setDefault(this.schemaName, this.tableName, this.column, lowerer, this.operationClass);
|
|
1200
1203
|
}
|
|
1201
1204
|
renderTypeScript() {
|
|
1202
1205
|
const opts = [];
|
|
1203
1206
|
if (this.schemaName !== UNBOUND_NAMESPACE_ID) opts.push(`schema: ${jsonToTsSource(this.schemaName)}`);
|
|
1204
1207
|
opts.push(`table: ${jsonToTsSource(this.tableName)}`);
|
|
1205
|
-
opts.push(`column: ${
|
|
1206
|
-
opts.push(`defaultSql: ${jsonToTsSource(this.defaultSql)}`);
|
|
1208
|
+
opts.push(`column: ${renderDdlColumnAsTsCall(this.column)}`);
|
|
1207
1209
|
if (this.operationClass !== "additive") opts.push(`operationClass: ${jsonToTsSource(this.operationClass)}`);
|
|
1208
1210
|
return `this.setDefault({ ${opts.join(", ")} })`;
|
|
1209
1211
|
}
|
|
1210
1212
|
importRequirements() {
|
|
1211
|
-
return [
|
|
1213
|
+
return [{
|
|
1214
|
+
moduleSpecifier: POSTGRES_MIGRATION_FACADE,
|
|
1215
|
+
symbol: "col"
|
|
1216
|
+
}, ...defaultImportSymbols([this.column]).map((symbol) => ({
|
|
1217
|
+
moduleSpecifier: POSTGRES_MIGRATION_FACADE,
|
|
1218
|
+
symbol
|
|
1219
|
+
}))];
|
|
1212
1220
|
}
|
|
1213
1221
|
};
|
|
1214
1222
|
var DropDefaultCall = class extends PostgresOpFactoryCallNode {
|
|
@@ -2056,7 +2064,12 @@ var RenamePostgresRlsPolicyCall = class extends PostgresOpFactoryCallNode {
|
|
|
2056
2064
|
return [];
|
|
2057
2065
|
}
|
|
2058
2066
|
};
|
|
2067
|
+
/** The name of the column a call acts on: its `columnName`, or the name of the column it carries. */
|
|
2068
|
+
function columnNameOfCall(call) {
|
|
2069
|
+
if ("columnName" in call) return call.columnName;
|
|
2070
|
+
if ("column" in call && call.column instanceof DdlColumn) return call.column.name;
|
|
2071
|
+
}
|
|
2059
2072
|
//#endregion
|
|
2060
|
-
export { RenameIndexCall as A, DropNativeEnumTypeCall as C, EnableRowLevelSecurityCall as D, DropTableCall as E,
|
|
2073
|
+
export { RenameIndexCall as A, DropNativeEnumTypeCall as C, EnableRowLevelSecurityCall as D, DropTableCall as E, columnNameOfCall as F, createExtension as I, installExtension as L, SetDefaultCall as M, SetNotNullCall as N, RawSqlCall as O, buildTargetDetails as P, postgresDefaultToDdlColumnDefault as R, DropIndexCall as S, DropPostgresRlsPolicyCall as T, DisableRowLevelSecurityCall as _, AddNotNullColumnDirectCall as a, DropConstraintCall as b, AddUniqueCall as c, CreateIndexCall as d, CreateNativeEnumTypeCall as f, DataTransformCall as g, CreateTableCall as h, AddNativeEnumValueCall as i, RenamePostgresRlsPolicyCall as j, RenameCheckConstraintCall as k, AlterColumnTypeCall as l, CreateSchemaCall as m, AddColumnCall as n, AddNotNullColumnWithTempDefaultCall as o, CreatePostgresRlsPolicyCall as p, AddForeignKeyCall as r, AddPrimaryKeyCall as s, AddCheckConstraintCall as t, CreateExtensionCall as u, DropCheckConstraintCall as v, DropNotNullCall as w, DropDefaultCall as x, DropColumnCall as y };
|
|
2061
2074
|
|
|
2062
|
-
//# sourceMappingURL=op-factory-call-
|
|
2075
|
+
//# sourceMappingURL=op-factory-call-y5YADY2E-CnhkIujC.mjs.map
|