@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.
Files changed (192) hide show
  1. package/dist/{adapter-Bz6wSV__-Dp93eiiH.mjs → adapter-Bb_FFDea-O-uPaHCy.mjs} +5 -5
  2. package/dist/{adapter-Bz6wSV__-Dp93eiiH.mjs.map → adapter-Bb_FFDea-O-uPaHCy.mjs.map} +1 -1
  3. package/dist/{adapter-DP_SQYED.d.mts → adapter-WLK_P3mT.d.mts} +3 -3
  4. package/dist/{adapter-DP_SQYED.d.mts.map → adapter-WLK_P3mT.d.mts.map} +1 -1
  5. package/dist/adapter.d.mts +8 -8
  6. package/dist/adapter.mjs +6 -6
  7. package/dist/adapter__adapter.d.mts +1 -1
  8. package/dist/adapter__adapter.mjs +1 -1
  9. package/dist/adapter__control.d.mts +3 -3
  10. package/dist/adapter__control.mjs +8 -369
  11. package/dist/adapter__control.mjs.map +1 -1
  12. package/dist/adapter__runtime.d.mts +1 -1
  13. package/dist/adapter__runtime.mjs +4 -5
  14. package/dist/adapter__runtime.mjs.map +1 -1
  15. package/dist/adapter__sql-renderer.d.mts +1 -1
  16. package/dist/adapter__sql-renderer.mjs +1 -1
  17. package/dist/adapter__types.d.mts +3 -3
  18. package/dist/{authoring-BmQxOggr-CK871YR4.mjs → authoring-DKN1ccEX-DgmJWx1r.mjs} +4 -4
  19. package/dist/{authoring-BmQxOggr-CK871YR4.mjs.map → authoring-DKN1ccEX-DgmJWx1r.mjs.map} +1 -1
  20. package/dist/{codec-descriptor-BfoHQP3R-CMRVT-F6.mjs → codec-descriptor-B61d-k4C-BdWVU6Fu.mjs} +4 -3
  21. package/dist/codec-descriptor-B61d-k4C-BdWVU6Fu.mjs.map +1 -0
  22. package/dist/codec-descriptor-D8_e5hpo.d.mts +1 -0
  23. package/dist/{codec-descriptor-DUUGoeyI-WGLGXEoI.d.mts → codec-descriptor-HYqjI24K-CTO3gTEs.d.mts} +11 -5
  24. package/dist/codec-descriptor-HYqjI24K-CTO3gTEs.d.mts.map +1 -0
  25. package/dist/{data-types-Cl18KnNY-5I34Vd6Z.mjs → codec-helpers-D83-1eDB-nqAEMr7N.mjs} +39 -216
  26. package/dist/codec-helpers-D83-1eDB-nqAEMr7N.mjs.map +1 -0
  27. package/dist/{codec-type-map-Cp91lhQd-D6zQ14YE.d.mts → codec-type-map-DMKy_xZb-DymgX4w7.d.mts} +4 -4
  28. package/dist/{codec-type-map-Cp91lhQd-D6zQ14YE.d.mts.map → codec-type-map-DMKy_xZb-DymgX4w7.d.mts.map} +1 -1
  29. package/dist/{codec-types-BQNq7Y1u-CGfS7PuD.d.mts → codec-types-B4-xhn7m-RQS461us.d.mts} +4 -4
  30. package/dist/{codec-types-BQNq7Y1u-CGfS7PuD.d.mts.map → codec-types-B4-xhn7m-RQS461us.d.mts.map} +1 -1
  31. package/dist/codec-types-Ci1nfCYh.d.mts +2 -0
  32. package/dist/{codecs-DQGmsnk3-H6nVRPCC.mjs → codecs-BHNqtI1J-BSS9sL3H.mjs} +263 -69
  33. package/dist/codecs-BHNqtI1J-BSS9sL3H.mjs.map +1 -0
  34. package/dist/{codecs-BKV97Xsa.d.mts → codecs-Ba3gUr67.d.mts} +11 -5
  35. package/dist/{codecs-BKV97Xsa.d.mts.map → codecs-Ba3gUr67.d.mts.map} +1 -1
  36. package/dist/{codecs-BZ87E3MY-Bub4t0ma.d.mts → codecs-Bkmbmo_r-Ct7hFY0S.d.mts} +31 -10
  37. package/dist/{codecs-BZ87E3MY-Bub4t0ma.d.mts.map → codecs-Bkmbmo_r-Ct7hFY0S.d.mts.map} +1 -1
  38. package/dist/{codecs-C4DVdgQG.mjs → codecs-Cytq8Ymj.mjs} +12 -4
  39. package/dist/codecs-Cytq8Ymj.mjs.map +1 -0
  40. package/dist/control-CUzQZfhu.d.mts +399 -0
  41. package/dist/control-CUzQZfhu.d.mts.map +1 -0
  42. package/dist/{control-w3p4NYNx.mjs → control-CYQReJto.mjs} +441 -72
  43. package/dist/control-CYQReJto.mjs.map +1 -0
  44. package/dist/{control-DxJWBVjs.d.mts → control-DoIm71dz.d.mts} +5 -4
  45. package/dist/control-DoIm71dz.d.mts.map +1 -0
  46. package/dist/{control-adapter-Buuq3v1c-DtBZerak.mjs → control-adapter-C6kz--Q4-3C9-f7Uv.mjs} +78 -95
  47. package/dist/control-adapter-C6kz--Q4-3C9-f7Uv.mjs.map +1 -0
  48. package/dist/{control-policy-BYo5QPof-BLT07t1y.mjs → control-policy-voGArjr--BeHlQRg0.mjs} +19 -17
  49. package/dist/control-policy-voGArjr--BeHlQRg0.mjs.map +1 -0
  50. package/dist/{data-type-entries-CvkBtAG--D-5Wtm9_.mjs → data-type-entries-BDSHvsdE-Bbe1cdbR.mjs} +3 -3
  51. package/dist/{data-type-entries-CvkBtAG--D-5Wtm9_.mjs.map → data-type-entries-BDSHvsdE-Bbe1cdbR.mjs.map} +1 -1
  52. package/dist/data-types-BqeC7aZP-CwvA08pH.mjs +200 -0
  53. package/dist/data-types-BqeC7aZP-CwvA08pH.mjs.map +1 -0
  54. package/dist/{default-normalizer-Bp3IhMR9-D0uYVRLZ.mjs → default-normalizer-Cb7nWBUa-DXchlOUk.mjs} +82 -19
  55. package/dist/default-normalizer-Cb7nWBUa-DXchlOUk.mjs.map +1 -0
  56. package/dist/{descriptor-meta-F1wsOtt2-D014LIGM.mjs → descriptor-meta-BEigA5Gj-By_dcUjB.mjs} +9 -7
  57. package/dist/descriptor-meta-BEigA5Gj-By_dcUjB.mjs.map +1 -0
  58. package/dist/{descriptor-meta-BOx9pvBv-C4TEXck8.mjs → descriptor-meta-DF0hODA0-DnO80XvH.mjs} +4 -4
  59. package/dist/{descriptor-meta-BOx9pvBv-C4TEXck8.mjs.map → descriptor-meta-DF0hODA0-DnO80XvH.mjs.map} +1 -1
  60. package/dist/{diff-database-schema-BP4uAPZZ-8ljuCPav.mjs → diff-database-schema-MYPfxeRf-DdgnOIIl.mjs} +17 -7
  61. package/dist/diff-database-schema-MYPfxeRf-DdgnOIIl.mjs.map +1 -0
  62. package/dist/{full-text-jDpkANi7.d.mts → full-text-Cth_mXe_.d.mts} +2 -2
  63. package/dist/{full-text-jDpkANi7.d.mts.map → full-text-Cth_mXe_.d.mts.map} +1 -1
  64. package/dist/{full-text-index-expression-PZszha7L-CW7i1TUY.mjs → full-text-index-expression-BM_vGygX-BOuja7X4.mjs} +3 -3
  65. package/dist/{full-text-index-expression-PZszha7L-CW7i1TUY.mjs.map → full-text-index-expression-BM_vGygX-BOuja7X4.mjs.map} +1 -1
  66. package/dist/{full-text-parsers-Dp_ANr31-DVxYUNS-.d.mts → full-text-parsers-CLZpb096-BN1xyHeO.d.mts} +3 -3
  67. package/dist/{full-text-parsers-Dp_ANr31-DVxYUNS-.d.mts.map → full-text-parsers-CLZpb096-BN1xyHeO.d.mts.map} +1 -1
  68. package/dist/{infer-psl-contract-MVBnqkl3-Bffp5RpV.mjs → infer-psl-contract-D7XJnfJv-Cd_Mf0UH.mjs} +78 -82
  69. package/dist/infer-psl-contract-D7XJnfJv-Cd_Mf0UH.mjs.map +1 -0
  70. package/dist/{issue-planner-D9rRu2pB.d.mts → issue-planner-C4iR-Ik-.d.mts} +2 -2
  71. package/dist/{issue-planner-D9rRu2pB.d.mts.map → issue-planner-C4iR-Ik-.d.mts.map} +1 -1
  72. package/dist/{migration-Du89zGmx.d.mts → migration-BTiY0PPC.d.mts} +3 -3
  73. package/dist/{migration-Du89zGmx.d.mts.map → migration-BTiY0PPC.d.mts.map} +1 -1
  74. package/dist/migration-PTHAY9Cv.mjs.map +1 -1
  75. package/dist/native-type-normalizer-BFo5tSyh.d.mts +37 -0
  76. package/dist/native-type-normalizer-BFo5tSyh.d.mts.map +1 -0
  77. package/dist/native-type-normalizer-CW6g9Fut-C5lMRRjS.mjs +102 -0
  78. package/dist/native-type-normalizer-CW6g9Fut-C5lMRRjS.mjs.map +1 -0
  79. package/dist/op-factory-call-Bi1XxJEv.d.mts +1 -0
  80. package/dist/{op-factory-call-t4k8mlRJ-BgtGXlIC.d.mts → op-factory-call-VLJFI-b_-Du23HNYc.d.mts} +5 -5
  81. package/dist/op-factory-call-VLJFI-b_-Du23HNYc.d.mts.map +1 -0
  82. package/dist/{op-factory-call-BBkvFvKK-7MkUHWJq.mjs → op-factory-call-y5YADY2E-CnhkIujC.mjs} +39 -26
  83. package/dist/op-factory-call-y5YADY2E-CnhkIujC.mjs.map +1 -0
  84. package/dist/{operation-types-DZyRBrnm.d.mts → operation-types-Cj4S6KNP.d.mts} +2 -2
  85. package/dist/{operation-types-DZyRBrnm.d.mts.map → operation-types-Cj4S6KNP.d.mts.map} +1 -1
  86. package/dist/{pack-B8SM_MTs.d.mts → pack-DO2bXv9P.d.mts} +3 -3
  87. package/dist/{pack-B8SM_MTs.d.mts.map → pack-DO2bXv9P.d.mts.map} +1 -1
  88. package/dist/{planner-Brs7-1mt-BFtbE0Tl.mjs → planner-DMVaXRSK-DCAGfALs.mjs} +6 -6
  89. package/dist/{planner-Brs7-1mt-BFtbE0Tl.mjs.map → planner-DMVaXRSK-DCAGfALs.mjs.map} +1 -1
  90. package/dist/{planner-o0_69Y9q.d.mts → planner-SLaWpf7q.d.mts} +2 -2
  91. package/dist/{planner-o0_69Y9q.d.mts.map → planner-SLaWpf7q.d.mts.map} +1 -1
  92. package/dist/{planner-ddl-builders-BQ_1YXut.d.mts → planner-ddl-builders-DYLyFXrj.d.mts} +2 -5
  93. package/dist/planner-ddl-builders-DYLyFXrj.d.mts.map +1 -0
  94. package/dist/{planner-ddl-builders-GTcVPpwb-ClvrXb26.mjs → planner-ddl-builders-iE35pyxA-g7b_clbn.mjs} +6 -27
  95. package/dist/planner-ddl-builders-iE35pyxA-g7b_clbn.mjs.map +1 -0
  96. package/dist/planner-produced-postgres-migration-Bi_Otmtx.d.mts +1 -0
  97. package/dist/{planner-produced-postgres-migration-DEJQPRjI-C9GuvVOY.mjs → planner-produced-postgres-migration-C8TUIl2Z-DHjubKQ-.mjs} +3 -3
  98. package/dist/{planner-produced-postgres-migration-DEJQPRjI-C9GuvVOY.mjs.map → planner-produced-postgres-migration-C8TUIl2Z-DHjubKQ-.mjs.map} +1 -1
  99. package/dist/{planner-produced-postgres-migration-Xd83anY_-vp2DJ5fk.d.mts → planner-produced-postgres-migration-CoOcn-b9-8kOq82_P.d.mts} +3 -3
  100. package/dist/planner-produced-postgres-migration-CoOcn-b9-8kOq82_P.d.mts.map +1 -0
  101. package/dist/{planner-sql-checks-Bd8nN9P8-Cd98iEee.mjs → planner-sql-checks-ZMXeCK6W-D1VMBywZ.mjs} +55 -15
  102. package/dist/planner-sql-checks-ZMXeCK6W-D1VMBywZ.mjs.map +1 -0
  103. package/dist/{postgres-contract-view-DxcRT-qe-LQBHHgaS.mjs → postgres-contract-view-BBMpf_qi-8V4vTm9U.mjs} +3 -3
  104. package/dist/{postgres-contract-view-DxcRT-qe-LQBHHgaS.mjs.map → postgres-contract-view-BBMpf_qi-8V4vTm9U.mjs.map} +1 -1
  105. package/dist/{postgres-migration-B7ihBnbW-DOmrgtms.d.mts → postgres-migration-B03W06rR-DTB0R3cj.d.mts} +4 -5
  106. package/dist/{postgres-migration-B7ihBnbW-DOmrgtms.d.mts.map → postgres-migration-B03W06rR-DTB0R3cj.d.mts.map} +1 -1
  107. package/dist/{postgres-migration-qwigEUIO-BWxjALsx.mjs → postgres-migration-UzDaU7Or-Dvc0Cdv5.mjs} +22 -5
  108. package/dist/postgres-migration-UzDaU7Or-Dvc0Cdv5.mjs.map +1 -0
  109. package/dist/{prisma7-binding-BRYHcWsx.mjs → prisma7-binding-D_Q6ou4j.mjs} +7 -6
  110. package/dist/prisma7-binding-D_Q6ou4j.mjs.map +1 -0
  111. package/dist/{prisma7-binding-1CMtcbOk.d.mts → prisma7-binding-c5vWJV6k.d.mts} +3 -3
  112. package/dist/{prisma7-binding-1CMtcbOk.d.mts.map → prisma7-binding-c5vWJV6k.d.mts.map} +1 -1
  113. package/dist/{runtime-aN2tMH8u.d.mts → runtime-Bm1hGqOh.d.mts} +2 -2
  114. package/dist/{runtime-aN2tMH8u.d.mts.map → runtime-Bm1hGqOh.d.mts.map} +1 -1
  115. package/dist/{sql-renderer-DmJ5aZwd.d.mts → sql-renderer-CfXWPuXU.d.mts} +4 -4
  116. package/dist/{sql-renderer-DmJ5aZwd.d.mts.map → sql-renderer-CfXWPuXU.d.mts.map} +1 -1
  117. package/dist/{sql-renderer-CgUgFbU4-CRUChEAY.mjs → sql-renderer-CgUgFbU4-DqTf31OD.mjs} +2 -2
  118. package/dist/{sql-renderer-CgUgFbU4-CRUChEAY.mjs.map → sql-renderer-CgUgFbU4-DqTf31OD.mjs.map} +1 -1
  119. package/dist/target.d.mts +23 -23
  120. package/dist/target.mjs +21 -22
  121. package/dist/target__codec-descriptor.d.mts +2 -2
  122. package/dist/target__codec-descriptor.mjs +1 -1
  123. package/dist/target__codec-types.d.mts +3 -3
  124. package/dist/target__codecs.d.mts +3 -3
  125. package/dist/target__codecs.mjs +3 -4
  126. package/dist/target__control.d.mts +2 -2
  127. package/dist/target__control.mjs +3 -3
  128. package/dist/target__data-types.mjs +2 -2
  129. package/dist/target__default-normalizer.mjs +1 -1
  130. package/dist/target__diff-database-schema.mjs +1 -1
  131. package/dist/target__full-text.d.mts +2 -2
  132. package/dist/target__issue-planner.d.mts +1 -1
  133. package/dist/target__issue-planner.mjs +1 -1
  134. package/dist/target__migration.d.mts +2 -2
  135. package/dist/target__migration.mjs +2 -2
  136. package/dist/target__native-type-normalizer.d.mts +2 -2
  137. package/dist/target__native-type-normalizer.mjs +2 -2
  138. package/dist/target__op-factory-call.d.mts +2 -2
  139. package/dist/target__op-factory-call.mjs +1 -1
  140. package/dist/target__operation-types.d.mts +1 -1
  141. package/dist/target__pack.d.mts +1 -1
  142. package/dist/target__pack.mjs +1 -1
  143. package/dist/target__planner-ddl-builders.d.mts +2 -2
  144. package/dist/target__planner-ddl-builders.mjs +2 -2
  145. package/dist/target__planner-produced-postgres-migration.d.mts +2 -2
  146. package/dist/target__planner-produced-postgres-migration.mjs +1 -1
  147. package/dist/target__planner-sql-checks.mjs +1 -1
  148. package/dist/target__planner.d.mts +1 -1
  149. package/dist/target__planner.mjs +2 -2
  150. package/dist/target__prisma7-binding.d.mts +1 -1
  151. package/dist/target__prisma7-binding.mjs +1 -1
  152. package/dist/target__runtime.mjs +2 -2
  153. package/dist/target__runtime.mjs.map +1 -1
  154. package/dist/target__sql-utils.mjs +1 -1
  155. package/dist/{types-BPubHbiE-mnhvO20x.d.mts → types-BPubHbiE-SaR3Cngi.d.mts} +3 -3
  156. package/dist/{types-BPubHbiE-mnhvO20x.d.mts.map → types-BPubHbiE-SaR3Cngi.d.mts.map} +1 -1
  157. package/dist/types-DvEixgWS.d.mts +2 -0
  158. package/package.json +9 -9
  159. package/dist/codec-descriptor-BfoHQP3R-CMRVT-F6.mjs.map +0 -1
  160. package/dist/codec-descriptor-Cf1qfOwo.d.mts +0 -1
  161. package/dist/codec-descriptor-DUUGoeyI-WGLGXEoI.d.mts.map +0 -1
  162. package/dist/codec-types-BXbWuRzS.d.mts +0 -2
  163. package/dist/codecs-C4DVdgQG.mjs.map +0 -1
  164. package/dist/codecs-DQGmsnk3-H6nVRPCC.mjs.map +0 -1
  165. package/dist/control-CDRHOvkm.d.mts +0 -12
  166. package/dist/control-CDRHOvkm.d.mts.map +0 -1
  167. package/dist/control-DxJWBVjs.d.mts.map +0 -1
  168. package/dist/control-adapter-Buuq3v1c-DtBZerak.mjs.map +0 -1
  169. package/dist/control-policy-BYo5QPof-BLT07t1y.mjs.map +0 -1
  170. package/dist/control-w3p4NYNx.mjs.map +0 -1
  171. package/dist/data-types-Cl18KnNY-5I34Vd6Z.mjs.map +0 -1
  172. package/dist/default-normalizer-Bp3IhMR9-D0uYVRLZ.mjs.map +0 -1
  173. package/dist/descriptor-meta-F1wsOtt2-D014LIGM.mjs.map +0 -1
  174. package/dist/diff-database-schema-BP4uAPZZ-8ljuCPav.mjs.map +0 -1
  175. package/dist/infer-psl-contract-MVBnqkl3-Bffp5RpV.mjs.map +0 -1
  176. package/dist/native-type-normalizer-DqJlOTeX.d.mts +0 -19
  177. package/dist/native-type-normalizer-DqJlOTeX.d.mts.map +0 -1
  178. package/dist/native-type-normalizer-yvd3tqv-.mjs +0 -38
  179. package/dist/native-type-normalizer-yvd3tqv-.mjs.map +0 -1
  180. package/dist/op-factory-call-7Dtfo3GK.d.mts +0 -1
  181. package/dist/op-factory-call-BBkvFvKK-7MkUHWJq.mjs.map +0 -1
  182. package/dist/op-factory-call-t4k8mlRJ-BgtGXlIC.d.mts.map +0 -1
  183. package/dist/planner-ddl-builders-BQ_1YXut.d.mts.map +0 -1
  184. package/dist/planner-ddl-builders-GTcVPpwb-ClvrXb26.mjs.map +0 -1
  185. package/dist/planner-produced-postgres-migration-B0pwyA94.d.mts +0 -1
  186. package/dist/planner-produced-postgres-migration-Xd83anY_-vp2DJ5fk.d.mts.map +0 -1
  187. package/dist/planner-sql-checks-Bd8nN9P8-Cd98iEee.mjs.map +0 -1
  188. package/dist/postgres-migration-qwigEUIO-BWxjALsx.mjs.map +0 -1
  189. package/dist/prisma7-binding-BRYHcWsx.mjs.map +0 -1
  190. package/dist/registry-ld2ZUt1j-CH85fY3r.mjs +0 -15
  191. package/dist/registry-ld2ZUt1j-CH85fY3r.mjs.map +0 -1
  192. 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":"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"}
@@ -0,0 +1 @@
1
+ import "./op-factory-call-VLJFI-b_-Du23HNYc.mjs";
@@ -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-t4k8mlRJ.d.mts
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
- readonly columnName: string;
160
- readonly defaultSql: string;
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, columnName: string, defaultSql: string, operationClass?: 'additive' | 'widening');
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-t4k8mlRJ-BgtGXlIC.d.mts.map
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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"}
@@ -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-Bd8nN9P8-Cd98iEee.mjs";
6
- import { n as buildColumnTypeSql } from "./planner-ddl-builders-GTcVPpwb-ClvrXb26.mjs";
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-BBkvFvKK.mjs
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
- * `defaultSql` is the full `DEFAULT …` clause as produced by
154
- * `buildColumnDefaultSql` — e.g. `"DEFAULT 42"`,
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, columnName, defaultSql, lowerer, operationClass = "additive") {
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 ${defaultSql}`)],
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
- columnName;
1185
- defaultSql;
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, columnName, defaultSql, operationClass = "additive") {
1191
+ constructor(schemaName, tableName, column, operationClass = "additive") {
1188
1192
  super();
1189
1193
  this.schemaName = schemaName;
1190
1194
  this.tableName = tableName;
1191
- this.columnName = columnName;
1192
- this.defaultSql = defaultSql;
1195
+ this.column = column;
1193
1196
  this.operationClass = operationClass;
1194
- this.label = `Set default on "${tableName}"."${columnName}"`;
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.columnName}" on table "${this.tableName}"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: "SetDefaultCall" } });
1199
- return setDefault(this.schemaName, this.tableName, this.columnName, this.defaultSql, lowerer, this.operationClass);
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: ${jsonToTsSource(this.columnName)}`);
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, createExtension as F, installExtension as I, postgresDefaultToDdlColumnDefault as L, SetDefaultCall as M, SetNotNullCall as N, RawSqlCall as O, buildTargetDetails as P, 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 };
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-BBkvFvKK-7MkUHWJq.mjs.map
2075
+ //# sourceMappingURL=op-factory-call-y5YADY2E-CnhkIujC.mjs.map