@prisma/orm-target-postgres 0.16.0-dev.36
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/LICENSE +201 -0
- package/README.md +23 -0
- package/dist/adapter-CWvVo0PV.d.mts +22 -0
- package/dist/adapter-CWvVo0PV.d.mts.map +1 -0
- package/dist/adapter-DhqcO3YO-jzwDVcCv.mjs +70 -0
- package/dist/adapter-DhqcO3YO-jzwDVcCv.mjs.map +1 -0
- package/dist/adapter.d.mts +12 -0
- package/dist/adapter.mjs +7 -0
- package/dist/adapter__adapter.d.mts +2 -0
- package/dist/adapter__adapter.mjs +2 -0
- package/dist/adapter__column-types.d.mts +2 -0
- package/dist/adapter__column-types.mjs +2 -0
- package/dist/adapter__control.d.mts +5 -0
- package/dist/adapter__control.mjs +441 -0
- package/dist/adapter__control.mjs.map +1 -0
- package/dist/adapter__operation-types.d.mts +2 -0
- package/dist/adapter__operation-types.mjs +1 -0
- package/dist/adapter__runtime.d.mts +2 -0
- package/dist/adapter__runtime.mjs +38 -0
- package/dist/adapter__runtime.mjs.map +1 -0
- package/dist/adapter__types.d.mts +4 -0
- package/dist/adapter__types.mjs +1 -0
- package/dist/authoring-03FwIL2k-kPjZAp3s.mjs +757 -0
- package/dist/authoring-03FwIL2k-kPjZAp3s.mjs.map +1 -0
- package/dist/canonicalize-CQlxSR4D-MnrT5gtW.d.mts +34 -0
- package/dist/canonicalize-CQlxSR4D-MnrT5gtW.d.mts.map +1 -0
- package/dist/canonicalize-CrN3u_xM-D4MrOqcB.mjs +59 -0
- package/dist/canonicalize-CrN3u_xM-D4MrOqcB.mjs.map +1 -0
- package/dist/codec-descriptor-Bec_zukr-BfvtUqhm.d.mts +37 -0
- package/dist/codec-descriptor-Bec_zukr-BfvtUqhm.d.mts.map +1 -0
- package/dist/codec-descriptor-Bg-_412t.d.mts +1 -0
- package/dist/codec-descriptor-CB6x0xEu-C-Zn2IEz.mjs +135 -0
- package/dist/codec-descriptor-CB6x0xEu-C-Zn2IEz.mjs.map +1 -0
- package/dist/codec-ids-CsOU3xDv-mPI0INiF.d.mts +33 -0
- package/dist/codec-ids-CsOU3xDv-mPI0INiF.d.mts.map +1 -0
- package/dist/codec-ids-fgafMLR7.d.mts +1 -0
- package/dist/codec-ids-tX7Svtz--BuOfRaVU.mjs +33 -0
- package/dist/codec-ids-tX7Svtz--BuOfRaVU.mjs.map +1 -0
- package/dist/codec-types-BHwY9Ff-.d.mts +2 -0
- package/dist/codec-types-mWhnDEAf-CAQzGFnF.d.mts +82 -0
- package/dist/codec-types-mWhnDEAf-CAQzGFnF.d.mts.map +1 -0
- package/dist/codecs-CBl0nD44-CaWPc1bd.mjs +1486 -0
- package/dist/codecs-CBl0nD44-CaWPc1bd.mjs.map +1 -0
- package/dist/codecs-CHIVTNZs.mjs +15 -0
- package/dist/codecs-CHIVTNZs.mjs.map +1 -0
- package/dist/codecs-Cvqvb9pV-Cdc51FKY.d.mts +589 -0
- package/dist/codecs-Cvqvb9pV-Cdc51FKY.d.mts.map +1 -0
- package/dist/codecs-DBn-uIv-.d.mts +15 -0
- package/dist/codecs-DBn-uIv-.d.mts.map +1 -0
- package/dist/column-types-BH-MU6uU.d.mts +108 -0
- package/dist/column-types-BH-MU6uU.d.mts.map +1 -0
- package/dist/column-types-CwAyCgp2.mjs +126 -0
- package/dist/column-types-CwAyCgp2.mjs.map +1 -0
- package/dist/contract-free-BZUS18FU.mjs +118 -0
- package/dist/contract-free-BZUS18FU.mjs.map +1 -0
- package/dist/contract-free-DzpGxLfb.d.mts +258 -0
- package/dist/contract-free-DzpGxLfb.d.mts.map +1 -0
- package/dist/control-2F195jJk.d.mts +11 -0
- package/dist/control-2F195jJk.d.mts.map +1 -0
- package/dist/control-6WFTtLAM.mjs +60 -0
- package/dist/control-6WFTtLAM.mjs.map +1 -0
- package/dist/control-B-FTbEnE.d.mts +22 -0
- package/dist/control-B-FTbEnE.d.mts.map +1 -0
- package/dist/control-D85zv_aY.d.mts +199 -0
- package/dist/control-D85zv_aY.d.mts.map +1 -0
- package/dist/control-DRMWptiJ.mjs +1355 -0
- package/dist/control-DRMWptiJ.mjs.map +1 -0
- package/dist/control-adapter-B9t0g7Pf-HrCxlM65.mjs +1901 -0
- package/dist/control-adapter-B9t0g7Pf-HrCxlM65.mjs.map +1 -0
- package/dist/control-policy-Cl3RRSPg-CT3QGpR3.mjs +1257 -0
- package/dist/control-policy-Cl3RRSPg-CT3QGpR3.mjs.map +1 -0
- package/dist/data-transform-BSM7TQpE.d.mts +1 -0
- package/dist/data-transform-ChZzy2dP-CxVCat_8.mjs +53 -0
- package/dist/data-transform-ChZzy2dP-CxVCat_8.mjs.map +1 -0
- package/dist/data-transform-Ck5FbyNO-BNE7QlAo.d.mts +38 -0
- package/dist/data-transform-Ck5FbyNO-BNE7QlAo.d.mts.map +1 -0
- package/dist/ddl-B4Rh8ntj.d.mts +1 -0
- package/dist/ddl-BdP4q3KY-Duef4uHw.mjs +395 -0
- package/dist/ddl-BdP4q3KY-Duef4uHw.mjs.map +1 -0
- package/dist/default-normalizer-B36TOul4.d.mts +31 -0
- package/dist/default-normalizer-B36TOul4.d.mts.map +1 -0
- package/dist/default-normalizer-Ba5ZebHM-isV86rjy.mjs +253 -0
- package/dist/default-normalizer-Ba5ZebHM-isV86rjy.mjs.map +1 -0
- package/dist/descriptor-meta-2IlVC6_d-DnV00Qd_.mjs +351 -0
- package/dist/descriptor-meta-2IlVC6_d-DnV00Qd_.mjs.map +1 -0
- package/dist/descriptor-meta-DnHabAS3-C53XXPQw.mjs +28 -0
- package/dist/descriptor-meta-DnHabAS3-C53XXPQw.mjs.map +1 -0
- package/dist/descriptor-meta-runtime-UwYdV8fD-B_m_Ha8r.mjs +13 -0
- package/dist/descriptor-meta-runtime-UwYdV8fD-B_m_Ha8r.mjs.map +1 -0
- package/dist/diff-database-schema-BfRs2vrG-D2o4KII0.mjs +390 -0
- package/dist/diff-database-schema-BfRs2vrG-D2o4KII0.mjs.map +1 -0
- package/dist/diff-database-schema-DsoNznGC.d.mts +38 -0
- package/dist/diff-database-schema-DsoNznGC.d.mts.map +1 -0
- package/dist/driver.d.mts +3 -0
- package/dist/driver.mjs +2 -0
- package/dist/driver__control.d.mts +2 -0
- package/dist/driver__control.mjs +2 -0
- package/dist/driver__runtime.d.mts +2 -0
- package/dist/driver__runtime.mjs +597 -0
- package/dist/driver__runtime.mjs.map +1 -0
- package/dist/errors-DCcVX4j1.d.mts +32 -0
- package/dist/errors-DCcVX4j1.d.mts.map +1 -0
- package/dist/errors-kYxOQjdD-D4T3rbVp.mjs +39 -0
- package/dist/errors-kYxOQjdD-D4T3rbVp.mjs.map +1 -0
- package/dist/issue-planner-jkY6p-Ca.d.mts +105 -0
- package/dist/issue-planner-jkY6p-Ca.d.mts.map +1 -0
- package/dist/migration-CBSAPE8S.d.mts +25 -0
- package/dist/migration-CBSAPE8S.d.mts.map +1 -0
- package/dist/migration-PTHAY9Cv.mjs +21 -0
- package/dist/migration-PTHAY9Cv.mjs.map +1 -0
- package/dist/namespace-ids-xtp_ZY86-Cpp8PTxD.mjs +7 -0
- package/dist/namespace-ids-xtp_ZY86-Cpp8PTxD.mjs.map +1 -0
- package/dist/native-type-normalizer-DqJlOTeX.d.mts +19 -0
- package/dist/native-type-normalizer-DqJlOTeX.d.mts.map +1 -0
- package/dist/native-type-normalizer-yvd3tqv-.mjs +38 -0
- package/dist/native-type-normalizer-yvd3tqv-.mjs.map +1 -0
- package/dist/nodes-BU-V-aZA-RqwPH68u.d.mts +235 -0
- package/dist/nodes-BU-V-aZA-RqwPH68u.d.mts.map +1 -0
- package/dist/nodes-DAvDJLvJ-BBdvFXNa.mjs +255 -0
- package/dist/nodes-DAvDJLvJ-BBdvFXNa.mjs.map +1 -0
- package/dist/normalize-error-CNjgVO71-CLlZ3CuJ.mjs +121 -0
- package/dist/normalize-error-CNjgVO71-CLlZ3CuJ.mjs.map +1 -0
- package/dist/op-factory-call-DifL68KT-Bo6pxs-R.mjs +2009 -0
- package/dist/op-factory-call-DifL68KT-Bo6pxs-R.mjs.map +1 -0
- package/dist/op-factory-call-FEA5mnWH.d.mts +1 -0
- package/dist/op-factory-call-jd4cgfjA-CyNT4YVn.d.mts +521 -0
- package/dist/op-factory-call-jd4cgfjA-CyNT4YVn.d.mts.map +1 -0
- package/dist/operation-types-BfRocNI8.d.mts +22 -0
- package/dist/operation-types-BfRocNI8.d.mts.map +1 -0
- package/dist/pack-DFM4tmob.d.mts +610 -0
- package/dist/pack-DFM4tmob.d.mts.map +1 -0
- package/dist/planner-Bmje9ii8-B99fEsNM.mjs +588 -0
- package/dist/planner-Bmje9ii8-B99fEsNM.mjs.map +1 -0
- package/dist/planner-DL4Bh5Nk.d.mts +163 -0
- package/dist/planner-DL4Bh5Nk.d.mts.map +1 -0
- package/dist/planner-ddl-builders-CbfICQfm-CxYiLrhX.mjs +102 -0
- package/dist/planner-ddl-builders-CbfICQfm-CxYiLrhX.mjs.map +1 -0
- package/dist/planner-ddl-builders-ijp60-JO.d.mts +19 -0
- package/dist/planner-ddl-builders-ijp60-JO.d.mts.map +1 -0
- package/dist/planner-identity-values-BmHn5C6U-BYBbUAyR.mjs +90 -0
- package/dist/planner-identity-values-BmHn5C6U-BYBbUAyR.mjs.map +1 -0
- package/dist/planner-identity-values-TfEhnoWa.d.mts +25 -0
- package/dist/planner-identity-values-TfEhnoWa.d.mts.map +1 -0
- package/dist/planner-produced-postgres-migration-B0PQLLUb-qsS6cQqX.d.mts +25 -0
- package/dist/planner-produced-postgres-migration-B0PQLLUb-qsS6cQqX.d.mts.map +1 -0
- package/dist/planner-produced-postgres-migration-C3GPZWeC.d.mts +1 -0
- package/dist/planner-produced-postgres-migration-Cicg2sXg-Ck9iDxGI.mjs +47 -0
- package/dist/planner-produced-postgres-migration-Cicg2sXg-Ck9iDxGI.mjs.map +1 -0
- package/dist/planner-schema-lookup-C4DHAddq.d.mts +21 -0
- package/dist/planner-schema-lookup-C4DHAddq.d.mts.map +1 -0
- package/dist/planner-schema-lookup-kMIVP2y--CdO4VlnF.mjs +57 -0
- package/dist/planner-schema-lookup-kMIVP2y--CdO4VlnF.mjs.map +1 -0
- package/dist/planner-sql-checks-CFgbRTJw.d.mts +20 -0
- package/dist/planner-sql-checks-CFgbRTJw.d.mts.map +1 -0
- package/dist/planner-sql-checks-DRc_78n8-C9nHOrvU.mjs +152 -0
- package/dist/planner-sql-checks-DRc_78n8-C9nHOrvU.mjs.map +1 -0
- package/dist/planner-target-details-HkP4RrRO-_xPQVPF0.d.mts +12 -0
- package/dist/planner-target-details-HkP4RrRO-_xPQVPF0.d.mts.map +1 -0
- package/dist/planner-type-resolution-Bt2f_q-F-C4T6YTae.mjs +15 -0
- package/dist/planner-type-resolution-Bt2f_q-F-C4T6YTae.mjs.map +1 -0
- package/dist/postgres-contract-view-2OP5JnXl-D2fpy4-8.d.mts +36 -0
- package/dist/postgres-contract-view-2OP5JnXl-D2fpy4-8.d.mts.map +1 -0
- package/dist/postgres-contract-view-FdLX7dV9-Cat1VKV9.mjs +144 -0
- package/dist/postgres-contract-view-FdLX7dV9-Cat1VKV9.mjs.map +1 -0
- package/dist/postgres-database-schema-node-CyfpHXDr-BqyozkQE.d.mts +285 -0
- package/dist/postgres-database-schema-node-CyfpHXDr-BqyozkQE.d.mts.map +1 -0
- package/dist/postgres-migration-CDJj7CvD-Bsqs_fVo.d.mts +260 -0
- package/dist/postgres-migration-CDJj7CvD-Bsqs_fVo.d.mts.map +1 -0
- package/dist/postgres-migration-CJshdIZn-DYYjgdD0.mjs +201 -0
- package/dist/postgres-migration-CJshdIZn-DYYjgdD0.mjs.map +1 -0
- package/dist/postgres-native-enum-CdP3b_-R-Cgz9KEKx.mjs +45 -0
- package/dist/postgres-native-enum-CdP3b_-R-Cgz9KEKx.mjs.map +1 -0
- package/dist/postgres-rls-policy-CnDxf3z9-C3LIHAIG.d.mts +61 -0
- package/dist/postgres-rls-policy-CnDxf3z9-C3LIHAIG.d.mts.map +1 -0
- package/dist/postgres-role-schema-node-B8Z5i5D--PObwlU2Z.mjs +204 -0
- package/dist/postgres-role-schema-node-B8Z5i5D--PObwlU2Z.mjs.map +1 -0
- package/dist/postgres-schema-KSzLDONj-CsXGoY8b.mjs +421 -0
- package/dist/postgres-schema-KSzLDONj-CsXGoY8b.mjs.map +1 -0
- package/dist/postgres-schema-Xsjt3RKO-Buv2X8ai.d.mts +269 -0
- package/dist/postgres-schema-Xsjt3RKO-Buv2X8ai.d.mts.map +1 -0
- package/dist/postgres-table-schema-node-BBkitBQh-DT1T5VWU.mjs +212 -0
- package/dist/postgres-table-schema-node-BBkitBQh-DT1T5VWU.mjs.map +1 -0
- package/dist/render-ops-DPwhZt2W.d.mts +11 -0
- package/dist/render-ops-DPwhZt2W.d.mts.map +1 -0
- package/dist/render-ops-DxzTxSsv-Bz85uUHk.mjs +34 -0
- package/dist/render-ops-DxzTxSsv-Bz85uUHk.mjs.map +1 -0
- package/dist/render-typescript-6sCFvMBh.d.mts +21 -0
- package/dist/render-typescript-6sCFvMBh.d.mts.map +1 -0
- package/dist/render-typescript-Cw3lFO28-Cx0lXWmv.mjs +117 -0
- package/dist/render-typescript-Cw3lFO28-Cx0lXWmv.mjs.map +1 -0
- package/dist/resolve-ddl-schema-CxqlLW47-0GiHRziS.mjs +22 -0
- package/dist/resolve-ddl-schema-CxqlLW47-0GiHRziS.mjs.map +1 -0
- package/dist/runtime-BbSRVwdd.d.mts +12 -0
- package/dist/runtime-BbSRVwdd.d.mts.map +1 -0
- package/dist/runtime-CDewySU9.d.mts +55 -0
- package/dist/runtime-CDewySU9.d.mts.map +1 -0
- package/dist/runtime-_TfO66h5.d.mts +32 -0
- package/dist/runtime-_TfO66h5.d.mts.map +1 -0
- package/dist/schema-ir-annotations-DuuYh0gl.d.mts +15 -0
- package/dist/schema-ir-annotations-DuuYh0gl.d.mts.map +1 -0
- package/dist/schema-node-kinds-qlnURWJy-Bo30pwTM.d.mts +30 -0
- package/dist/schema-node-kinds-qlnURWJy-Bo30pwTM.d.mts.map +1 -0
- package/dist/sql-utils-BnBlQxyh-DaX9Nb7Z.mjs +90 -0
- package/dist/sql-utils-BnBlQxyh-DaX9Nb7Z.mjs.map +1 -0
- package/dist/sql-utils-DW6fkczF.d.mts +62 -0
- package/dist/sql-utils-DW6fkczF.d.mts.map +1 -0
- package/dist/table-source-ikHOZmhD-DriY1Lcr.d.mts +15 -0
- package/dist/table-source-ikHOZmhD-DriY1Lcr.d.mts.map +1 -0
- package/dist/target.d.mts +47 -0
- package/dist/target.mjs +34 -0
- package/dist/target__codec-descriptor.d.mts +3 -0
- package/dist/target__codec-descriptor.mjs +2 -0
- package/dist/target__codec-ids.d.mts +3 -0
- package/dist/target__codec-ids.mjs +2 -0
- package/dist/target__codec-types.d.mts +4 -0
- package/dist/target__codec-types.mjs +1 -0
- package/dist/target__codecs.d.mts +3 -0
- package/dist/target__codecs.mjs +3 -0
- package/dist/target__contract-free.d.mts +3 -0
- package/dist/target__contract-free.mjs +4 -0
- package/dist/target__control.d.mts +2 -0
- package/dist/target__control.mjs +2 -0
- package/dist/target__data-transform.d.mts +3 -0
- package/dist/target__data-transform.mjs +2 -0
- package/dist/target__ddl.d.mts +4 -0
- package/dist/target__ddl.mjs +2 -0
- package/dist/target__default-normalizer.d.mts +2 -0
- package/dist/target__default-normalizer.mjs +2 -0
- package/dist/target__diff-database-schema.d.mts +2 -0
- package/dist/target__diff-database-schema.mjs +2 -0
- package/dist/target__errors.d.mts +2 -0
- package/dist/target__errors.mjs +2 -0
- package/dist/target__issue-planner.d.mts +2 -0
- package/dist/target__issue-planner.mjs +2 -0
- package/dist/target__migration.d.mts +4 -0
- package/dist/target__migration.mjs +5 -0
- package/dist/target__native-type-normalizer.d.mts +2 -0
- package/dist/target__native-type-normalizer.mjs +2 -0
- package/dist/target__op-factory-call.d.mts +3 -0
- package/dist/target__op-factory-call.mjs +2 -0
- package/dist/target__pack.d.mts +2 -0
- package/dist/target__pack.mjs +2 -0
- package/dist/target__planner-ddl-builders.d.mts +2 -0
- package/dist/target__planner-ddl-builders.mjs +2 -0
- package/dist/target__planner-identity-values.d.mts +2 -0
- package/dist/target__planner-identity-values.mjs +2 -0
- package/dist/target__planner-produced-postgres-migration.d.mts +3 -0
- package/dist/target__planner-produced-postgres-migration.mjs +2 -0
- package/dist/target__planner-schema-lookup.d.mts +2 -0
- package/dist/target__planner-schema-lookup.mjs +2 -0
- package/dist/target__planner-sql-checks.d.mts +2 -0
- package/dist/target__planner-sql-checks.mjs +2 -0
- package/dist/target__planner-target-details.d.mts +2 -0
- package/dist/target__planner-target-details.mjs +1 -0
- package/dist/target__planner.d.mts +2 -0
- package/dist/target__planner.mjs +3 -0
- package/dist/target__render-ops.d.mts +2 -0
- package/dist/target__render-ops.mjs +2 -0
- package/dist/target__render-typescript.d.mts +2 -0
- package/dist/target__render-typescript.mjs +2 -0
- package/dist/target__rls-canonicalize.d.mts +2 -0
- package/dist/target__rls-canonicalize.mjs +2 -0
- package/dist/target__runtime.d.mts +3 -0
- package/dist/target__runtime.mjs +23 -0
- package/dist/target__runtime.mjs.map +1 -0
- package/dist/target__schema-ir-annotations.d.mts +2 -0
- package/dist/target__schema-ir-annotations.mjs +2 -0
- package/dist/target__sql-utils.d.mts +2 -0
- package/dist/target__sql-utils.mjs +2 -0
- package/dist/target__types.d.mts +7 -0
- package/dist/target__types.mjs +5 -0
- package/dist/types-CkryN1AS-6MNZLjLY.d.mts +27 -0
- package/dist/types-CkryN1AS-6MNZLjLY.d.mts.map +1 -0
- package/dist/types-Cp_Jf2tk.d.mts +1 -0
- package/dist/types-ue6jkJyF-BQJzjx1P.d.mts +10 -0
- package/dist/types-ue6jkJyF-BQJzjx1P.d.mts.map +1 -0
- package/dist/types-xa86TkcV.d.mts +32 -0
- package/dist/types-xa86TkcV.d.mts.map +1 -0
- package/package.json +95 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { i as postgresDriverDescriptorMeta, r as normalizePgError } from "./normalize-error-CNjgVO71-CLlZ3CuJ.mjs";
|
|
2
|
+
import { ifDefined } from "@prisma/orm-framework/utils/defined";
|
|
3
|
+
import { SqlQueryError } from "@prisma/orm-family-sql/errors";
|
|
4
|
+
import { errorRuntime } from "@prisma/orm-framework/errors/execution";
|
|
5
|
+
import { redactDatabaseUrl } from "@prisma/orm-framework/utils/redact-db-url";
|
|
6
|
+
import { Client } from "pg";
|
|
7
|
+
//#region ../../../3-targets/7-drivers/postgres/dist/control.mjs
|
|
8
|
+
var PostgresControlDriver = class {
|
|
9
|
+
client;
|
|
10
|
+
familyId = "sql";
|
|
11
|
+
targetId = "postgres";
|
|
12
|
+
constructor(client) {
|
|
13
|
+
this.client = client;
|
|
14
|
+
}
|
|
15
|
+
async query(sql, params) {
|
|
16
|
+
try {
|
|
17
|
+
return { rows: (await this.client.query(sql, params)).rows };
|
|
18
|
+
} catch (error) {
|
|
19
|
+
throw normalizePgError(error);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
async close() {
|
|
23
|
+
await this.client.end().catch(() => {});
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Postgres driver descriptor for CLI config.
|
|
28
|
+
*/
|
|
29
|
+
const postgresDriverDescriptor = {
|
|
30
|
+
...postgresDriverDescriptorMeta,
|
|
31
|
+
async create(url) {
|
|
32
|
+
const client = new Client({ connectionString: url });
|
|
33
|
+
client.on("error", () => {});
|
|
34
|
+
try {
|
|
35
|
+
await client.connect();
|
|
36
|
+
return new PostgresControlDriver(client);
|
|
37
|
+
} catch (error) {
|
|
38
|
+
const normalized = normalizePgError(error);
|
|
39
|
+
const redacted = redactDatabaseUrl(url);
|
|
40
|
+
try {
|
|
41
|
+
await client.end();
|
|
42
|
+
} catch {}
|
|
43
|
+
const codeFromSqlState = SqlQueryError.is(normalized) ? normalized.sqlState : void 0;
|
|
44
|
+
const causeCode = "cause" in normalized && normalized.cause ? normalized.cause.code : void 0;
|
|
45
|
+
const code = codeFromSqlState ?? causeCode;
|
|
46
|
+
throw errorRuntime("Database connection failed", {
|
|
47
|
+
why: normalized.message,
|
|
48
|
+
fix: "Verify the database URL, ensure the database is reachable, and confirm credentials/permissions",
|
|
49
|
+
meta: {
|
|
50
|
+
...ifDefined("code", code),
|
|
51
|
+
...redacted
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
//#endregion
|
|
58
|
+
export { postgresDriverDescriptor as n, PostgresControlDriver as t };
|
|
59
|
+
|
|
60
|
+
//# sourceMappingURL=control-6WFTtLAM.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"control-6WFTtLAM.mjs","names":[],"sources":["../../../../3-targets/7-drivers/postgres/dist/control.mjs"],"sourcesContent":["import { i as postgresDriverDescriptorMeta, r as normalizePgError } from \"./normalize-error-CNjgVO71.mjs\";\nimport { errorRuntime } from \"@internal/errors/execution\";\nimport { SqlQueryError } from \"@internal/sql-errors\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { redactDatabaseUrl } from \"@internal/utils/redact-db-url\";\nimport { Client } from \"pg\";\n//#region src/exports/control.ts\nvar PostgresControlDriver = class {\n\tclient;\n\tfamilyId = \"sql\";\n\ttargetId = \"postgres\";\n\tconstructor(client) {\n\t\tthis.client = client;\n\t}\n\tasync query(sql, params) {\n\t\ttry {\n\t\t\treturn { rows: (await this.client.query(sql, params)).rows };\n\t\t} catch (error) {\n\t\t\tthrow normalizePgError(error);\n\t\t}\n\t}\n\tasync close() {\n\t\tawait this.client.end().catch(() => {});\n\t}\n};\n/**\n* Postgres driver descriptor for CLI config.\n*/\nconst postgresDriverDescriptor = {\n\t...postgresDriverDescriptorMeta,\n\tasync create(url) {\n\t\tconst client = new Client({ connectionString: url });\n\t\tclient.on(\"error\", () => {});\n\t\ttry {\n\t\t\tawait client.connect();\n\t\t\treturn new PostgresControlDriver(client);\n\t\t} catch (error) {\n\t\t\tconst normalized = normalizePgError(error);\n\t\t\tconst redacted = redactDatabaseUrl(url);\n\t\t\ttry {\n\t\t\t\tawait client.end();\n\t\t\t} catch {}\n\t\t\tconst codeFromSqlState = SqlQueryError.is(normalized) ? normalized.sqlState : void 0;\n\t\t\tconst causeCode = \"cause\" in normalized && normalized.cause ? normalized.cause.code : void 0;\n\t\t\tconst code = codeFromSqlState ?? causeCode;\n\t\t\tthrow errorRuntime(\"Database connection failed\", {\n\t\t\t\twhy: normalized.message,\n\t\t\t\tfix: \"Verify the database URL, ensure the database is reachable, and confirm credentials/permissions\",\n\t\t\t\tmeta: {\n\t\t\t\t\t...ifDefined(\"code\", code),\n\t\t\t\t\t...redacted\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n};\n//#endregion\nexport { PostgresControlDriver, postgresDriverDescriptor as default };\n\n//# sourceMappingURL=control.mjs.map"],"mappings":";;;;;;;AAOA,IAAI,wBAAwB,MAAM;CACjC;CACA,WAAW;CACX,WAAW;CACX,YAAY,QAAQ;EACnB,KAAK,SAAS;CACf;CACA,MAAM,MAAM,KAAK,QAAQ;EACxB,IAAI;GACH,OAAO,EAAE,OAAO,MAAM,KAAK,OAAO,MAAM,KAAK,MAAM,EAAA,CAAG,KAAK;EAC5D,SAAS,OAAO;GACf,MAAM,iBAAiB,KAAK;EAC7B;CACD;CACA,MAAM,QAAQ;EACb,MAAM,KAAK,OAAO,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC;CACvC;AACD;;;;AAIA,MAAM,2BAA2B;CAChC,GAAG;CACH,MAAM,OAAO,KAAK;EACjB,MAAM,SAAS,IAAI,OAAO,EAAE,kBAAkB,IAAI,CAAC;EACnD,OAAO,GAAG,eAAe,CAAC,CAAC;EAC3B,IAAI;GACH,MAAM,OAAO,QAAQ;GACrB,OAAO,IAAI,sBAAsB,MAAM;EACxC,SAAS,OAAO;GACf,MAAM,aAAa,iBAAiB,KAAK;GACzC,MAAM,WAAW,kBAAkB,GAAG;GACtC,IAAI;IACH,MAAM,OAAO,IAAI;GAClB,QAAQ,CAAC;GACT,MAAM,mBAAmB,cAAc,GAAG,UAAU,IAAI,WAAW,WAAW,KAAK;GACnF,MAAM,YAAY,WAAW,cAAc,WAAW,QAAQ,WAAW,MAAM,OAAO,KAAK;GAC3F,MAAM,OAAO,oBAAoB;GACjC,MAAM,aAAa,8BAA8B;IAChD,KAAK,WAAW;IAChB,KAAK;IACL,MAAM;KACL,GAAG,UAAU,QAAQ,IAAI;KACzB,GAAG;IACJ;GACD,CAAC;EACF;CACD;AACD"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { SqlControlDriverInstance } from "@prisma/orm-family-sql/contract/types";
|
|
2
|
+
import { ControlDriverDescriptor } from "@prisma/orm-framework/components/control";
|
|
3
|
+
import { Client } from "pg";
|
|
4
|
+
//#region ../../../3-targets/7-drivers/postgres/dist/control.d.mts
|
|
5
|
+
//#region src/exports/control.d.ts
|
|
6
|
+
declare class PostgresControlDriver implements SqlControlDriverInstance<'postgres'> {
|
|
7
|
+
private readonly client;
|
|
8
|
+
readonly familyId: "sql";
|
|
9
|
+
readonly targetId: "postgres";
|
|
10
|
+
constructor(client: Client);
|
|
11
|
+
query<Row = Record<string, unknown>>(sql: string, params?: readonly unknown[]): Promise<{
|
|
12
|
+
readonly rows: Row[];
|
|
13
|
+
}>;
|
|
14
|
+
close(): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Postgres driver descriptor for CLI config.
|
|
18
|
+
*/
|
|
19
|
+
declare const postgresDriverDescriptor: ControlDriverDescriptor<'sql', 'postgres', PostgresControlDriver>;
|
|
20
|
+
//#endregion
|
|
21
|
+
export { postgresDriverDescriptor as n, PostgresControlDriver as t };
|
|
22
|
+
//# sourceMappingURL=control-B-FTbEnE.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"control-B-FTbEnE.d.mts","names":[],"sources":["../../../../3-targets/7-drivers/postgres/dist/control.d.mts"],"mappings":";;;;;cAIc,iCAAiC;mBAC5B;WACR;WACA;EACT,YAAY,QAAQ;EACpB,MAAM,MAAM,yBAAyB,aAAa,8BAA8B;aACrE,MAAM;;EAEjB,SAAS;;;;;cAKG,0BAA0B,2CAA2C"}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import { n as AnyPostgresCodecDescriptor } from "./codec-descriptor-Bec_zukr-BfvtUqhm.mjs";
|
|
2
|
+
import "./codec-descriptor-Bg-_412t.mjs";
|
|
3
|
+
import { t as PostgresDatabaseSchemaNode } from "./postgres-database-schema-node-CyfpHXDr-BqyozkQE.mjs";
|
|
4
|
+
import "./types-xa86TkcV.mjs";
|
|
5
|
+
import { c as PostgresCodecRegistry } from "./types-CkryN1AS-6MNZLjLY.mjs";
|
|
6
|
+
import { h as PostgresDdlNode } from "./nodes-BU-V-aZA-RqwPH68u.mjs";
|
|
7
|
+
import "./ddl-B4Rh8ntj.mjs";
|
|
8
|
+
import { t as parsePostgresDefault } from "./default-normalizer-B36TOul4.mjs";
|
|
9
|
+
import { t as normalizeSchemaNativeType } from "./native-type-normalizer-DqJlOTeX.mjs";
|
|
10
|
+
import { AnyQueryAst, DdlNode, LoweredStatement, LowererContext, MarkerReadResult, SqlExecuteRequest } from "@prisma/orm-family-sql/relational-core/ast";
|
|
11
|
+
import { SqlControlDriverInstance } from "@prisma/orm-family-sql/contract/types";
|
|
12
|
+
import { SqlControlAdapterDescriptor } from "@prisma/orm-family-sql/family/control";
|
|
13
|
+
import { ContractMarkerRecord, LedgerEntryRecord } from "@prisma/orm-framework/contract/types";
|
|
14
|
+
import "@prisma/orm-framework/components/components";
|
|
15
|
+
import { SqlControlAdapter } from "@prisma/orm-family-sql/family/control-adapter";
|
|
16
|
+
//#region ../../../3-targets/6-adapters/postgres/dist/control.d.mts
|
|
17
|
+
//#region src/core/codec-lookup.d.ts
|
|
18
|
+
declare function createPostgresCodecRegistryWithBuiltins(codecDescriptors?: readonly AnyPostgresCodecDescriptor[]): PostgresCodecRegistry;
|
|
19
|
+
/**
|
|
20
|
+
* Build a coherent PostgreSQL codec registry populated with built-in descriptors only.
|
|
21
|
+
*
|
|
22
|
+
* The returned registry supports both ordinary codec materialization and PostgreSQL target behavior. Stack-composed paths build the same combined registry from their complete ordered descriptor contributions.
|
|
23
|
+
*/
|
|
24
|
+
declare function createPostgresBuiltinCodecLookup(): PostgresCodecRegistry;
|
|
25
|
+
//#endregion
|
|
26
|
+
//#region src/core/control-adapter.d.ts
|
|
27
|
+
/**
|
|
28
|
+
* Postgres control plane adapter for control-plane operations like introspection.
|
|
29
|
+
* Provides target-specific implementations for control-plane domain actions.
|
|
30
|
+
*/
|
|
31
|
+
declare class PostgresControlAdapter implements SqlControlAdapter<'postgres'> {
|
|
32
|
+
private readonly codecRegistry;
|
|
33
|
+
readonly familyId: "sql";
|
|
34
|
+
readonly targetId: "postgres";
|
|
35
|
+
constructor(codecRegistry: PostgresCodecRegistry);
|
|
36
|
+
/**
|
|
37
|
+
* Target-specific normalizer for raw Postgres default expressions.
|
|
38
|
+
* Used by schema verification to normalize raw defaults before comparison.
|
|
39
|
+
*/
|
|
40
|
+
readonly normalizeDefault: typeof parsePostgresDefault;
|
|
41
|
+
/**
|
|
42
|
+
* Target-specific normalizer for Postgres schema native type names.
|
|
43
|
+
* Used by schema verification to normalize introspected type names
|
|
44
|
+
* before comparison with contract native types.
|
|
45
|
+
*/
|
|
46
|
+
readonly normalizeNativeType: typeof normalizeSchemaNativeType;
|
|
47
|
+
bootstrapControlTableQueries(): readonly DdlNode[];
|
|
48
|
+
bootstrapSignMarkerQueries(): readonly DdlNode[];
|
|
49
|
+
/**
|
|
50
|
+
* Lower a SQL query AST into a Postgres-flavored `{ sql, params }` payload.
|
|
51
|
+
*
|
|
52
|
+
* Delegates to the shared `renderLoweredSql` renderer so the control adapter
|
|
53
|
+
* emits byte-identical SQL to `PostgresAdapterImpl.lower()` for the same AST
|
|
54
|
+
* and contract. Used at migration plan/emit time (e.g. by `dataTransform`)
|
|
55
|
+
* without instantiating the runtime adapter.
|
|
56
|
+
*/
|
|
57
|
+
lower(ast: AnyQueryAst | PostgresDdlNode, context: LowererContext<unknown>): LoweredStatement;
|
|
58
|
+
/**
|
|
59
|
+
* Lower an AST all the way to a driver-ready statement. For DDL nodes,
|
|
60
|
+
* literal column defaults are formatted as inline SQL with proper quoting and
|
|
61
|
+
* `::nativeType` cast suffixes. For query ASTs, params are kept as `$N`
|
|
62
|
+
* placeholders; wire values go in `params`. Does NOT call `this.lower()` —
|
|
63
|
+
* independent implementation.
|
|
64
|
+
*/
|
|
65
|
+
lowerToExecuteRequest(ast: AnyQueryAst | PostgresDdlNode, context?: LowererContext<unknown>): Promise<SqlExecuteRequest>;
|
|
66
|
+
/**
|
|
67
|
+
* Reads the contract marker from `prisma_contract.marker`. Probes
|
|
68
|
+
* `information_schema.tables` first so a fresh database (where the
|
|
69
|
+
* `prisma_contract` schema doesn't yet exist) returns `null` instead of a
|
|
70
|
+
* "relation does not exist" error — some Postgres wire-protocol clients
|
|
71
|
+
* (e.g. PGlite's TCP proxy) don't fully recover from extended-protocol
|
|
72
|
+
* parse errors, so we probe before reading.
|
|
73
|
+
*/
|
|
74
|
+
readMarker(driver: SqlControlDriverInstance<'postgres'>, space: string): Promise<ContractMarkerRecord | null>;
|
|
75
|
+
readMarkerDiscriminated(driver: SqlControlDriverInstance<'postgres'>, space: string): Promise<MarkerReadResult>;
|
|
76
|
+
/**
|
|
77
|
+
* Reads every row from `prisma_contract.marker` and returns them keyed
|
|
78
|
+
* by `space`. Mirrors the existence probe in {@link readMarker}: a
|
|
79
|
+
* fresh database without the `prisma_contract` schema returns an empty
|
|
80
|
+
* map rather than raising "relation does not exist".
|
|
81
|
+
*/
|
|
82
|
+
readAllMarkers(driver: SqlControlDriverInstance<'postgres'>): Promise<ReadonlyMap<string, ContractMarkerRecord>>;
|
|
83
|
+
private readAllMarkersResult;
|
|
84
|
+
/**
|
|
85
|
+
* Reads per-migration ledger rows from `prisma_contract.ledger` in apply
|
|
86
|
+
* order. Probes `information_schema.tables` first so a fresh database
|
|
87
|
+
* without the ledger table returns `[]` instead of raising "relation does
|
|
88
|
+
* not exist".
|
|
89
|
+
*/
|
|
90
|
+
readLedger(driver: SqlControlDriverInstance<'postgres'>, space?: string): Promise<readonly LedgerEntryRecord[]>;
|
|
91
|
+
private readLedgerResult;
|
|
92
|
+
/**
|
|
93
|
+
* Stamps the initial marker row for `space` via the shared contract-free DML
|
|
94
|
+
* builder, lowered through {@link lower} and executed on the driver. See the
|
|
95
|
+
* `SqlControlAdapter.initMarker` contract.
|
|
96
|
+
*/
|
|
97
|
+
insertMarker(driver: SqlControlDriverInstance<'postgres'>, space: string, destination: {
|
|
98
|
+
readonly storageHash: string;
|
|
99
|
+
readonly profileHash: string;
|
|
100
|
+
readonly invariants?: readonly string[];
|
|
101
|
+
}): Promise<void>;
|
|
102
|
+
initMarker(driver: SqlControlDriverInstance<'postgres'>, space: string, destination: {
|
|
103
|
+
readonly storageHash: string;
|
|
104
|
+
readonly profileHash: string;
|
|
105
|
+
readonly invariants?: readonly string[];
|
|
106
|
+
}): Promise<void>;
|
|
107
|
+
/**
|
|
108
|
+
* Compare-and-swap advance of the marker row for `space`. See the
|
|
109
|
+
* `SqlControlAdapter.updateMarker` contract.
|
|
110
|
+
*/
|
|
111
|
+
updateMarker(driver: SqlControlDriverInstance<'postgres'>, space: string, expectedFrom: string, destination: {
|
|
112
|
+
readonly storageHash: string;
|
|
113
|
+
readonly profileHash: string;
|
|
114
|
+
readonly invariants?: readonly string[];
|
|
115
|
+
}): Promise<boolean>;
|
|
116
|
+
/**
|
|
117
|
+
* Appends a ledger entry for `space`. When the edge carries a
|
|
118
|
+
* destination contract snapshot, the content-addressed
|
|
119
|
+
* `prisma_contract.contract` store is populated first (keyed by the
|
|
120
|
+
* destination hash, DO NOTHING on revisit) so a reader never sees a
|
|
121
|
+
* ledger row whose stored destination contract is missing. See the
|
|
122
|
+
* `SqlControlAdapter.writeLedgerEntry` contract.
|
|
123
|
+
*/
|
|
124
|
+
writeLedgerEntry(driver: SqlControlDriverInstance<'postgres'>, space: string, 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
|
+
}): Promise<void>;
|
|
133
|
+
private assertMarkerTableHasSpaceColumn;
|
|
134
|
+
private readMarkerResult;
|
|
135
|
+
/**
|
|
136
|
+
* Introspects a Postgres database schema and returns a raw SqlSchemaIR.
|
|
137
|
+
*
|
|
138
|
+
* This is a pure schema discovery operation that queries the Postgres catalog
|
|
139
|
+
* and returns the schema structure without type mapping or contract enrichment.
|
|
140
|
+
* Type mapping and enrichment are handled separately by enrichment helpers.
|
|
141
|
+
*
|
|
142
|
+
* When `contract` is provided and its storage declares more than one
|
|
143
|
+
* namespace (or any explicit bound namespace), the adapter walks every
|
|
144
|
+
* declared namespace and merges the per-schema introspection results
|
|
145
|
+
* into a single `SqlSchemaIR`. `UNBOUND_NAMESPACE_ID` resolves to the
|
|
146
|
+
* connection's `current_schema()` so late-bound tables follow the
|
|
147
|
+
* runtime `search_path`. When no contract is passed, the adapter falls
|
|
148
|
+
* back to introspecting the single `schema` argument (defaulting to
|
|
149
|
+
* `'public'`).
|
|
150
|
+
*
|
|
151
|
+
* Uses batched queries to minimize database round trips (6 queries per
|
|
152
|
+
* schema walked).
|
|
153
|
+
*
|
|
154
|
+
* @param driver - SqlControlDriverInstance<'postgres'> instance for executing queries
|
|
155
|
+
* @param contract - Optional contract for contract-guided introspection (multi-namespace walk, filtering)
|
|
156
|
+
* @param schema - Schema name to introspect when no contract is provided (defaults to 'public')
|
|
157
|
+
* @returns Promise resolving to SqlSchemaIR representing the live database schema
|
|
158
|
+
*/
|
|
159
|
+
introspect(driver: SqlControlDriverInstance<'postgres'>, contract?: unknown, schema?: string): Promise<PostgresDatabaseSchemaNode>;
|
|
160
|
+
/**
|
|
161
|
+
* Reads cluster-scoped database roles. Roles are not schema-qualified, so
|
|
162
|
+
* this is queried once for the whole database rather than per namespace.
|
|
163
|
+
*/
|
|
164
|
+
private introspectRoles;
|
|
165
|
+
/**
|
|
166
|
+
* Lists every non-system schema present in the connected database.
|
|
167
|
+
* The introspection consumer (`verifyPostgresNamespacePresence`)
|
|
168
|
+
* treats the result as the authoritative ground truth — declared
|
|
169
|
+
* namespaces whose `ddlSchemaName` is missing from this list become
|
|
170
|
+
* `missing_schema` issues, and the planner emits the matching
|
|
171
|
+
* `CREATE SCHEMA` before table DDL.
|
|
172
|
+
*/
|
|
173
|
+
private listExistingSchemas;
|
|
174
|
+
/**
|
|
175
|
+
* Resolves the declared namespace ids to their live DDL schema names,
|
|
176
|
+
* mapping `UNBOUND_NAMESPACE_ID` to the connection's `current_schema()`
|
|
177
|
+
* and de-duplicating. The caller introspects one namespace node per
|
|
178
|
+
* resolved schema — there is no flat cross-schema merge, so two schemas
|
|
179
|
+
* holding a same-named table no longer collide.
|
|
180
|
+
*/
|
|
181
|
+
private resolveNamespaceSchemas;
|
|
182
|
+
/**
|
|
183
|
+
* Introspects a single Postgres schema and returns the namespace node for
|
|
184
|
+
* that schema (its tables, their policies, and its native enum type names),
|
|
185
|
+
* alongside the cluster-scoped Postgres version. Used by `introspect` as
|
|
186
|
+
* the per-namespace walk.
|
|
187
|
+
*/
|
|
188
|
+
private introspectSchema;
|
|
189
|
+
/**
|
|
190
|
+
* Gets the Postgres version from the database.
|
|
191
|
+
*/
|
|
192
|
+
private getPostgresVersion;
|
|
193
|
+
}
|
|
194
|
+
//#endregion
|
|
195
|
+
//#region src/exports/control.d.ts
|
|
196
|
+
declare const postgresAdapterDescriptor: SqlControlAdapterDescriptor<'postgres'>;
|
|
197
|
+
//#endregion
|
|
198
|
+
export { postgresAdapterDescriptor as i, createPostgresBuiltinCodecLookup as n, createPostgresCodecRegistryWithBuiltins as r, PostgresControlAdapter as t };
|
|
199
|
+
//# sourceMappingURL=control-D85zv_aY.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"control-D85zv_aY.d.mts","names":[],"sources":["../../../../3-targets/6-adapters/postgres/dist/control.d.mts"],"mappings":";;;;;;;;;;;;;;;;;iBAciB,wCAAwC,4BAA4B,+BAA+B;;;;;;iBAMnG,oCAAoC;;;;;;;cAOvC,kCAAkC;mBAC7B;WACR;WACA;EACT,YAAY,eAAe;;;;;WAKlB,yBAAyB;;;;;;WAMzB,4BAA4B;EACrC,yCAAyC;EACzC,uCAAuC;;;;;;;;;EASvC,MAAM,KAAK,cAAc,iBAAiB,SAAS,0BAA0B;;;;;;;;EAQ7E,sBAAsB,KAAK,cAAc,iBAAiB,UAAU,0BAA0B,QAAQ;;;;;;;;;EAStG,WAAW,QAAQ,sCAAsC,gBAAgB,QAAQ;EACjF,wBAAwB,QAAQ,sCAAsC,gBAAgB,QAAQ;;;;;;;EAO9F,eAAe,QAAQ,uCAAuC,QAAQ,oBAAoB;UAClF;;;;;;;EAOR,WAAW,QAAQ,sCAAsC,iBAAiB,iBAAiB;UACnF;;;;;;EAMR,aAAa,QAAQ,sCAAsC,eAAe;aAC/D;aACA;aACA;MACP;EACJ,WAAW,QAAQ,sCAAsC,eAAe;aAC7D;aACA;aACA;MACP;;;;;EAKJ,aAAa,QAAQ,sCAAsC,eAAe,sBAAsB;aACrF;aACA;aACA;MACP;;;;;;;;;EASJ,iBAAiB,QAAQ,sCAAsC,eAAe;aACnE;aACA;aACA;aACA;aACA;aACA;aACA;MACP;UACI;UACA;;;;;;;;;;;;;;;;;;;;;;;;;EAyBR,WAAW,QAAQ,sCAAsC,oBAAoB,kBAAkB,QAAQ;;;;;UAK/F;;;;;;;;;UASA;;;;;;;;UAQA;;;;;;;UAOA;;;;UAIA;;;;cAII,2BAA2B"}
|