orcaq 1.0.32 → 1.1.1
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/.output/nitro.json +1 -1
- package/.output/public/_nuxt/4by6-f6q.js +982 -0
- package/.output/public/_nuxt/8Ppmjv9D.js +1 -0
- package/.output/public/_nuxt/B1qjkRVO.js +1 -0
- package/.output/public/_nuxt/B3KEisfc.js +1 -0
- package/.output/public/_nuxt/B4ebLeWY.js +9 -0
- package/.output/public/_nuxt/{IitECNfD.js → B6hH0qos.js} +1 -1
- package/.output/public/_nuxt/{BUDtG__q.js → B7HEMfgt.js} +1 -1
- package/.output/public/_nuxt/B84SvUzr.js +1 -0
- package/.output/public/_nuxt/BDXvbRNW.js +1 -0
- package/.output/public/_nuxt/BGRcizqy.js +1 -0
- package/.output/public/_nuxt/{ClYziJpO.js → BGVGiigU.js} +1 -1
- package/.output/public/_nuxt/{ZdjmUBoX.js → BJYf67_H.js} +1 -1
- package/.output/public/_nuxt/BOK5ZFNK.js +1 -0
- package/.output/public/_nuxt/BPY2ud8g.js +1 -0
- package/.output/public/_nuxt/BSONoRG4.js +2 -0
- package/.output/public/_nuxt/BT53m-su.js +1 -0
- package/.output/public/_nuxt/BTJSh8in.js +2 -0
- package/.output/public/_nuxt/BVpt8J3a.js +1 -0
- package/.output/public/_nuxt/{BhUkpIlA.js → BdDEVolW.js} +1 -1
- package/.output/public/_nuxt/{C27bL9Es.js → BeNILdbT.js} +1 -1
- package/.output/public/_nuxt/{Dnx67EG9.js → BmU9CNkM.js} +1 -1
- package/.output/public/_nuxt/{DLHYqHwF.js → BnFDcr74.js} +1 -1
- package/.output/public/_nuxt/{sE-55p4e.js → BprXyYdv.js} +1 -1
- package/.output/public/_nuxt/{BCcTASq_.js → Bq7otXBA.js} +1 -1
- package/.output/public/_nuxt/{B_PBOfFN.js → BqyO8OjC.js} +93 -93
- package/.output/public/_nuxt/Bs1og3h1.js +10 -0
- package/.output/public/_nuxt/Bs2DgR_z.js +1 -0
- package/.output/public/_nuxt/{BsoQBloB.js → BvUhrUEH.js} +1 -1
- package/.output/public/_nuxt/{DkggUtNN.js → BxDrCsPf.js} +1 -1
- package/.output/public/_nuxt/BxrwrGYE.js +1 -0
- package/.output/public/_nuxt/By0aUn7N.js +1 -0
- package/.output/public/_nuxt/{C07rlnlv.js → ByOuUnNS.js} +1 -1
- package/.output/public/_nuxt/C177_GoB.js +1 -0
- package/.output/public/_nuxt/{DcfsxCxL.js → C1jMZ4hc.js} +1 -1
- package/.output/public/_nuxt/C5bgdIOp.js +1 -0
- package/.output/public/_nuxt/C69a9jD3.js +67 -0
- package/.output/public/_nuxt/C8AyZ3_X.js +2 -0
- package/.output/public/_nuxt/C8KplD68.js +1 -0
- package/.output/public/_nuxt/CA99KAte.js +3 -0
- package/.output/public/_nuxt/{CvTHaPAO.js → CE8aasoy.js} +1 -1
- package/.output/public/_nuxt/{DkY69STm.js → CEvNlevo.js} +1 -1
- package/.output/public/_nuxt/{B8JnYxjr.js → CKqvNpN3.js} +1 -1
- package/.output/public/_nuxt/CNF1h1lI.js +1 -0
- package/.output/public/_nuxt/COAycMg4.js +1 -0
- package/.output/public/_nuxt/CR6_eO9a.js +6 -0
- package/.output/public/_nuxt/{D4jn2f-6.js → CREZ9f0O.js} +4 -4
- package/.output/public/_nuxt/CS5ItJPR.js +39 -0
- package/.output/public/_nuxt/CcK14gfI.js +1 -0
- package/.output/public/_nuxt/{DnxDSFih.js → Ci43mke5.js} +3 -3
- package/.output/public/_nuxt/CjouDEjz.js +1 -0
- package/.output/public/_nuxt/Cp5lMcfd.js +1 -0
- package/.output/public/_nuxt/CpYiq1Wv.js +1 -0
- package/.output/public/_nuxt/{DVxTxYP4.js → CrLqg4B0.js} +1 -1
- package/.output/public/_nuxt/{BJxYuvXF.js → CvcedJeQ.js} +1 -1
- package/.output/public/_nuxt/{FIJP2AmN.js → Cvq07PgE.js} +1 -1
- package/.output/public/_nuxt/CwmbX4-U.js +1 -0
- package/.output/public/_nuxt/{B27ECqWz.js → Cx6s86aR.js} +1 -1
- package/.output/public/_nuxt/{DDYV6jDr.js → CybtvDjH.js} +1 -1
- package/.output/public/_nuxt/CzB2y8br.js +18 -0
- package/.output/public/_nuxt/{-p9JbKy8.js → D-YUpbah.js} +3 -3
- package/.output/public/_nuxt/D60Pzl_V.js +1 -0
- package/.output/public/_nuxt/D9BYd7AV.js +1 -0
- package/.output/public/_nuxt/D9dEqMyH.js +152 -0
- package/.output/public/_nuxt/DCJ49Fnq.js +1 -0
- package/.output/public/_nuxt/{gO22NLpn.js → DESYlybj.js} +1 -1
- package/.output/public/_nuxt/DFM-aCBX.js +1 -0
- package/.output/public/_nuxt/{DRKnK1N_.js → DHnNoguE.js} +1 -1
- package/.output/public/_nuxt/{ChkFTcxr.js → DJqZzQsX.js} +1 -1
- package/.output/public/_nuxt/DNNdcUH4.js +1 -0
- package/.output/public/_nuxt/{LFK46Fls.js → DNdM2ZyK.js} +1 -1
- package/.output/public/_nuxt/{CVliJ52o.js → DQT4eICL.js} +1 -1
- package/.output/public/_nuxt/{CffFK_qY.js → DWBoXz89.js} +1 -1
- package/.output/public/_nuxt/DXp9fCib.js +20 -0
- package/.output/public/_nuxt/{ACOLmAuq.js → DaKikgWm.js} +1 -1
- package/.output/public/_nuxt/{B9zSkyFO.js → DaMyovpr.js} +1 -1
- package/.output/public/_nuxt/DeBdxlx0.js +1 -0
- package/.output/public/_nuxt/{trZyeId5.js → DhKwXzSk.js} +1 -1
- package/.output/public/_nuxt/{C6Vqzp-9.js → DkadXn5U.js} +1 -1
- package/.output/public/_nuxt/Dkikh2OC.js +22 -0
- package/.output/public/_nuxt/DlOyXrKK.js +1 -0
- package/.output/public/_nuxt/{UqWhjgOc.js → Dpl6-lqE.js} +1 -1
- package/.output/public/_nuxt/DqA_edEU.js +1 -0
- package/.output/public/_nuxt/DqxL2Lpl.js +1 -0
- package/.output/public/_nuxt/Dt3rfvTn.js +1 -0
- package/.output/public/_nuxt/Dt5h0Tys.js +1 -0
- package/.output/public/_nuxt/DwrSZ8Vj.js +1 -0
- package/.output/public/_nuxt/DwyFZZT6.js +1 -0
- package/.output/public/_nuxt/EM8J-XL1.js +7 -0
- package/.output/public/_nuxt/ESKvsKwc.js +1 -0
- package/.output/public/_nuxt/{CWGdTiOD.js → F5lCgNdb.js} +1 -1
- package/.output/public/_nuxt/H5m89x1B.js +1 -0
- package/.output/public/_nuxt/{CwdIiq6J.js → PUe8M07P.js} +2 -2
- package/.output/public/_nuxt/{Cjgqfl1g.js → TEF-nDfP.js} +1 -1
- package/.output/public/_nuxt/{DNZpxuwM.js → TuKV3Ilv.js} +1 -1
- package/.output/public/_nuxt/V5LvXMJl.js +1 -0
- package/.output/public/_nuxt/{c_huf6xz.js → YJvNy3iu.js} +27 -27
- package/.output/public/_nuxt/{C7C8tPlA.js → ZObQcd0X.js} +1 -1
- package/.output/public/_nuxt/{CHOD7i6O.js → b_MfGg1c.js} +1 -1
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/455d4da4-6357-4478-8703-78a79ccbbc0f.json +1 -0
- package/.output/public/_nuxt/entry.qdzR7QFr.css +1 -0
- package/.output/public/_nuxt/fpuEgQ7C.js +12 -0
- package/.output/public/_nuxt/jU7fkvuR.js +1 -0
- package/.output/public/_nuxt/{CSTzT9hP.js → lHkFwi3L.js} +1 -1
- package/.output/public/_nuxt/{BQOaPJzs.js → minLMBmY.js} +1 -1
- package/.output/public/_nuxt/pQ8l8BR2.js +1 -0
- package/.output/public/_nuxt/xYXqL1eV.js +1 -0
- package/.output/public/_nuxt/xxfb8w7n.js +1 -0
- package/.output/server/chunks/_/create-adapter.mjs +36 -7
- package/.output/server/chunks/_/create-adapter.mjs.map +1 -1
- package/.output/server/chunks/_/database-error.mjs +10 -0
- package/.output/server/chunks/_/database-error.mjs.map +1 -1
- package/.output/server/chunks/_/database-roles.factory.mjs +126 -22
- package/.output/server/chunks/_/database-roles.factory.mjs.map +1 -1
- package/.output/server/chunks/_/db-connection.mjs +721 -81
- package/.output/server/chunks/_/db-connection.mjs.map +1 -1
- package/.output/server/chunks/_/functions.factory.mjs +97 -6
- package/.output/server/chunks/_/functions.factory.mjs.map +1 -1
- package/.output/server/chunks/_/instance-insights.factory.mjs +106 -7
- package/.output/server/chunks/_/instance-insights.factory.mjs.map +1 -1
- package/.output/server/chunks/_/metadata.factory.mjs +912 -43
- package/.output/server/chunks/_/metadata.factory.mjs.map +1 -1
- package/.output/server/chunks/_/native-backup-jobs.mjs +1302 -0
- package/.output/server/chunks/_/native-backup-jobs.mjs.map +1 -0
- package/.output/server/chunks/_/query.factory.mjs +536 -14
- package/.output/server/chunks/_/query.factory.mjs.map +1 -1
- package/.output/server/chunks/_/schemaMeta.type.mjs +13 -0
- package/.output/server/chunks/_/schemaMeta.type.mjs.map +1 -0
- package/.output/server/chunks/_/tables.factory.mjs +905 -37
- package/.output/server/chunks/_/tables.factory.mjs.map +1 -1
- package/.output/server/chunks/_/type-alias.constants.mjs +242 -0
- package/.output/server/chunks/_/type-alias.constants.mjs.map +1 -0
- package/.output/server/chunks/_/views.factory.mjs +106 -8
- package/.output/server/chunks/_/views.factory.mjs.map +1 -1
- package/.output/server/chunks/build/client.manifest.mjs +676 -672
- package/.output/server/chunks/build/client.manifest.mjs.map +1 -1
- package/.output/server/chunks/nitro/nitro.mjs +1046 -751
- package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
- package/.output/server/chunks/routes/api/ai/agent.mjs +30 -79
- package/.output/server/chunks/routes/api/ai/agent.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-export/export-database.mjs +26 -124
- package/.output/server/chunks/routes/api/database-export/export-database.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-export/jobs/_jobId/download.get.mjs +52 -0
- package/.output/server/chunks/routes/api/database-export/jobs/_jobId/download.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/database-export/jobs/_jobId_.get.mjs +43 -0
- package/.output/server/chunks/routes/api/database-export/jobs/_jobId_.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/database-import/import-database.mjs +69 -134
- package/.output/server/chunks/routes/api/database-import/import-database.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-import/jobs/_jobId_.get.mjs +43 -0
- package/.output/server/chunks/routes/api/database-import/jobs/_jobId_.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/database-roles/create-role.mjs +2 -0
- package/.output/server/chunks/routes/api/database-roles/create-role.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/delete-role.mjs +2 -0
- package/.output/server/chunks/routes/api/database-roles/delete-role.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-databases-with-permissions.mjs +2 -0
- package/.output/server/chunks/routes/api/database-roles/get-databases-with-permissions.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-databases.mjs +2 -0
- package/.output/server/chunks/routes/api/database-roles/get-databases.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-permissions.mjs +2 -0
- package/.output/server/chunks/routes/api/database-roles/get-permissions.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-role-inheritance.mjs +2 -0
- package/.output/server/chunks/routes/api/database-roles/get-role-inheritance.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-role.mjs +2 -0
- package/.output/server/chunks/routes/api/database-roles/get-role.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-roles.mjs +2 -0
- package/.output/server/chunks/routes/api/database-roles/get-roles.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-schema-objects.mjs +2 -0
- package/.output/server/chunks/routes/api/database-roles/get-schema-objects.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-schemas.mjs +2 -0
- package/.output/server/chunks/routes/api/database-roles/get-schemas.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/grant-bulk-permissions.mjs +2 -0
- package/.output/server/chunks/routes/api/database-roles/grant-bulk-permissions.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/grant-permission.mjs +2 -0
- package/.output/server/chunks/routes/api/database-roles/grant-permission.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/revoke-permission.mjs +2 -0
- package/.output/server/chunks/routes/api/database-roles/revoke-permission.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/definition.post.mjs +3 -1
- package/.output/server/chunks/routes/api/functions/definition.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/delete.post.mjs +3 -1
- package/.output/server/chunks/routes/api/functions/delete.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/overview.post.mjs +3 -1
- package/.output/server/chunks/routes/api/functions/overview.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/rename.post.mjs +3 -1
- package/.output/server/chunks/routes/api/functions/rename.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/signature.post.mjs +3 -1
- package/.output/server/chunks/routes/api/functions/signature.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/update.post.mjs +24 -6
- package/.output/server/chunks/routes/api/functions/update.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.post.mjs +63 -0
- package/.output/server/chunks/routes/api/index.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/instance-insights/cancel-query.post.mjs +2 -0
- package/.output/server/chunks/routes/api/instance-insights/cancel-query.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/configuration.post.mjs +2 -0
- package/.output/server/chunks/routes/api/instance-insights/configuration.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/dashboard.post.mjs +2 -0
- package/.output/server/chunks/routes/api/instance-insights/dashboard.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/drop-slot.post.mjs +2 -0
- package/.output/server/chunks/routes/api/instance-insights/drop-slot.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/replication.post.mjs +2 -0
- package/.output/server/chunks/routes/api/instance-insights/replication.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/state.post.mjs +2 -0
- package/.output/server/chunks/routes/api/instance-insights/state.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/terminate-connection.post.mjs +2 -0
- package/.output/server/chunks/routes/api/instance-insights/terminate-connection.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/toggle-slot-status.post.mjs +2 -0
- package/.output/server/chunks/routes/api/instance-insights/toggle-slot-status.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/managment-connection/health-check.mjs +10 -4
- package/.output/server/chunks/routes/api/managment-connection/health-check.mjs.map +1 -1
- package/.output/server/chunks/routes/api/metadata/erd.post.mjs +4 -0
- package/.output/server/chunks/routes/api/metadata/erd.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/metadata/meta-data.post.mjs +4 -0
- package/.output/server/chunks/routes/api/metadata/meta-data.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/metadata/reverse-schemas.post.mjs +4 -0
- package/.output/server/chunks/routes/api/metadata/reverse-schemas.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/metrics/monitor.post.mjs +80 -7
- package/.output/server/chunks/routes/api/metrics/monitor.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/query/execute.post.mjs +3 -1
- package/.output/server/chunks/routes/api/query/execute.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/query/raw-execute-stream.post.mjs +3 -1
- package/.output/server/chunks/routes/api/query/raw-execute-stream.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/query/raw-execute.post.mjs +3 -1
- package/.output/server/chunks/routes/api/query/raw-execute.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/bulk-delete.post.mjs +3 -1
- package/.output/server/chunks/routes/api/tables/bulk-delete.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/bulk-update.post.mjs +3 -1
- package/.output/server/chunks/routes/api/tables/bulk-update.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/ddl.post.mjs +3 -1
- package/.output/server/chunks/routes/api/tables/ddl.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/export.post.mjs +4 -2
- package/.output/server/chunks/routes/api/tables/export.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/indexes.post.mjs +3 -1
- package/.output/server/chunks/routes/api/tables/indexes.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/meta.post.mjs +3 -1
- package/.output/server/chunks/routes/api/tables/meta.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/overview.post.mjs +3 -1
- package/.output/server/chunks/routes/api/tables/overview.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/rls.post.mjs +3 -1
- package/.output/server/chunks/routes/api/tables/rls.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/rules.post.mjs +3 -1
- package/.output/server/chunks/routes/api/tables/rules.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/size.post.mjs +3 -1
- package/.output/server/chunks/routes/api/tables/size.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/structure.post.mjs +3 -1
- package/.output/server/chunks/routes/api/tables/structure.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/triggers.post.mjs +3 -1
- package/.output/server/chunks/routes/api/tables/triggers.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/definition.post.mjs +2 -0
- package/.output/server/chunks/routes/api/views/definition.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/dependencies.post.mjs +2 -0
- package/.output/server/chunks/routes/api/views/dependencies.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/explain.post.mjs +2 -0
- package/.output/server/chunks/routes/api/views/explain.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/indexes.post.mjs +2 -0
- package/.output/server/chunks/routes/api/views/indexes.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/meta.post.mjs +2 -0
- package/.output/server/chunks/routes/api/views/meta.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/overview.post.mjs +2 -0
- package/.output/server/chunks/routes/api/views/overview.post.mjs.map +1 -1
- package/.output/server/chunks/routes/renderer.mjs +1 -1
- package/.output/server/index.mjs +1 -1
- package/.output/server/node_modules/aws-ssl-profiles/lib/index.js +13 -0
- package/.output/server/node_modules/aws-ssl-profiles/lib/profiles/ca/defaults.js +2888 -0
- package/.output/server/node_modules/aws-ssl-profiles/lib/profiles/ca/proxies.js +111 -0
- package/.output/server/node_modules/aws-ssl-profiles/package.json +52 -0
- package/.output/server/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
- package/.output/server/node_modules/better-sqlite3/lib/database.js +90 -0
- package/.output/server/node_modules/better-sqlite3/lib/index.js +3 -0
- package/.output/server/node_modules/better-sqlite3/lib/methods/aggregate.js +43 -0
- package/.output/server/node_modules/better-sqlite3/lib/methods/backup.js +67 -0
- package/.output/server/node_modules/better-sqlite3/lib/methods/function.js +31 -0
- package/.output/server/node_modules/better-sqlite3/lib/methods/inspect.js +7 -0
- package/.output/server/node_modules/better-sqlite3/lib/methods/pragma.js +12 -0
- package/.output/server/node_modules/better-sqlite3/lib/methods/serialize.js +16 -0
- package/.output/server/node_modules/better-sqlite3/lib/methods/table.js +189 -0
- package/.output/server/node_modules/better-sqlite3/lib/methods/transaction.js +78 -0
- package/.output/server/node_modules/better-sqlite3/lib/methods/wrappers.js +54 -0
- package/.output/server/node_modules/better-sqlite3/lib/sqlite-error.js +20 -0
- package/.output/server/node_modules/better-sqlite3/lib/util.js +12 -0
- package/.output/server/node_modules/better-sqlite3/package.json +59 -0
- package/.output/server/node_modules/cpu-features/build/Release/cpufeatures.node +0 -0
- package/.output/server/node_modules/cpu-features/lib/index.js +5 -0
- package/.output/server/node_modules/cpu-features/package.json +40 -0
- package/.output/server/node_modules/denque/index.js +481 -0
- package/.output/server/node_modules/denque/package.json +58 -0
- package/.output/server/node_modules/generate-function/index.js +181 -0
- package/.output/server/node_modules/generate-function/package.json +32 -0
- package/.output/server/node_modules/iconv-lite/encodings/dbcs-codec.js +532 -0
- package/.output/server/node_modules/iconv-lite/encodings/dbcs-data.js +185 -0
- package/.output/server/node_modules/iconv-lite/encodings/index.js +23 -0
- package/.output/server/node_modules/iconv-lite/encodings/internal.js +218 -0
- package/.output/server/node_modules/iconv-lite/encodings/sbcs-codec.js +75 -0
- package/.output/server/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
- package/.output/server/node_modules/iconv-lite/encodings/sbcs-data.js +178 -0
- package/.output/server/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
- package/.output/server/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
- package/.output/server/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
- package/.output/server/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
- package/.output/server/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
- package/.output/server/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
- package/.output/server/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
- package/.output/server/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
- package/.output/server/node_modules/iconv-lite/encodings/utf16.js +187 -0
- package/.output/server/node_modules/iconv-lite/encodings/utf32.js +307 -0
- package/.output/server/node_modules/iconv-lite/encodings/utf7.js +283 -0
- package/.output/server/node_modules/iconv-lite/lib/bom-handling.js +48 -0
- package/.output/server/node_modules/iconv-lite/lib/helpers/merge-exports.js +13 -0
- package/.output/server/node_modules/iconv-lite/lib/index.js +182 -0
- package/.output/server/node_modules/iconv-lite/lib/streams.js +105 -0
- package/.output/server/node_modules/iconv-lite/package.json +70 -0
- package/.output/server/node_modules/is-property/is-property.js +5 -0
- package/.output/server/node_modules/is-property/package.json +36 -0
- package/.output/server/node_modules/long/package.json +58 -0
- package/.output/server/node_modules/long/umd/index.js +1622 -0
- package/.output/server/node_modules/long/umd/package.json +3 -0
- package/.output/server/node_modules/lru.min/lib/index.js +248 -0
- package/.output/server/node_modules/lru.min/package.json +87 -0
- package/.output/server/node_modules/mysql2/index.js +77 -0
- package/.output/server/node_modules/mysql2/lib/auth_41.js +95 -0
- package/.output/server/node_modules/mysql2/lib/auth_plugins/caching_sha2_password.js +115 -0
- package/.output/server/node_modules/mysql2/lib/auth_plugins/index.js +8 -0
- package/.output/server/node_modules/mysql2/lib/auth_plugins/mysql_clear_password.js +17 -0
- package/.output/server/node_modules/mysql2/lib/auth_plugins/mysql_native_password.js +34 -0
- package/.output/server/node_modules/mysql2/lib/auth_plugins/sha256_password.js +74 -0
- package/.output/server/node_modules/mysql2/lib/base/connection.js +1139 -0
- package/.output/server/node_modules/mysql2/lib/base/pool.js +343 -0
- package/.output/server/node_modules/mysql2/lib/commands/auth_switch.js +151 -0
- package/.output/server/node_modules/mysql2/lib/commands/binlog_dump.js +109 -0
- package/.output/server/node_modules/mysql2/lib/commands/change_user.js +68 -0
- package/.output/server/node_modules/mysql2/lib/commands/client_handshake.js +386 -0
- package/.output/server/node_modules/mysql2/lib/commands/close_statement.js +18 -0
- package/.output/server/node_modules/mysql2/lib/commands/command.js +54 -0
- package/.output/server/node_modules/mysql2/lib/commands/execute.js +116 -0
- package/.output/server/node_modules/mysql2/lib/commands/index.js +29 -0
- package/.output/server/node_modules/mysql2/lib/commands/ping.js +36 -0
- package/.output/server/node_modules/mysql2/lib/commands/prepare.js +143 -0
- package/.output/server/node_modules/mysql2/lib/commands/query.js +365 -0
- package/.output/server/node_modules/mysql2/lib/commands/quit.js +29 -0
- package/.output/server/node_modules/mysql2/lib/commands/register_slave.js +27 -0
- package/.output/server/node_modules/mysql2/lib/commands/reset_connection.js +29 -0
- package/.output/server/node_modules/mysql2/lib/commands/server_handshake.js +205 -0
- package/.output/server/node_modules/mysql2/lib/compressed_protocol.js +153 -0
- package/.output/server/node_modules/mysql2/lib/connection.js +12 -0
- package/.output/server/node_modules/mysql2/lib/connection_config.js +299 -0
- package/.output/server/node_modules/mysql2/lib/constants/charset_encodings.js +317 -0
- package/.output/server/node_modules/mysql2/lib/constants/charsets.js +317 -0
- package/.output/server/node_modules/mysql2/lib/constants/client.js +39 -0
- package/.output/server/node_modules/mysql2/lib/constants/commands.js +37 -0
- package/.output/server/node_modules/mysql2/lib/constants/cursor.js +9 -0
- package/.output/server/node_modules/mysql2/lib/constants/encoding_charset.js +50 -0
- package/.output/server/node_modules/mysql2/lib/constants/errors.js +3973 -0
- package/.output/server/node_modules/mysql2/lib/constants/field_flags.js +20 -0
- package/.output/server/node_modules/mysql2/lib/constants/server_status.js +44 -0
- package/.output/server/node_modules/mysql2/lib/constants/session_track.js +11 -0
- package/.output/server/node_modules/mysql2/lib/constants/ssl_profiles.js +11 -0
- package/.output/server/node_modules/mysql2/lib/constants/types.js +64 -0
- package/.output/server/node_modules/mysql2/lib/create_connection.js +10 -0
- package/.output/server/node_modules/mysql2/lib/create_pool.js +10 -0
- package/.output/server/node_modules/mysql2/lib/create_pool_cluster.js +9 -0
- package/.output/server/node_modules/mysql2/lib/helpers.js +83 -0
- package/.output/server/node_modules/mysql2/lib/packet_parser.js +195 -0
- package/.output/server/node_modules/mysql2/lib/packets/auth_next_factor.js +35 -0
- package/.output/server/node_modules/mysql2/lib/packets/auth_switch_request.js +38 -0
- package/.output/server/node_modules/mysql2/lib/packets/auth_switch_request_more_data.js +33 -0
- package/.output/server/node_modules/mysql2/lib/packets/auth_switch_response.js +30 -0
- package/.output/server/node_modules/mysql2/lib/packets/binary_row.js +95 -0
- package/.output/server/node_modules/mysql2/lib/packets/binlog_dump.js +33 -0
- package/.output/server/node_modules/mysql2/lib/packets/binlog_query_statusvars.js +115 -0
- package/.output/server/node_modules/mysql2/lib/packets/change_user.js +97 -0
- package/.output/server/node_modules/mysql2/lib/packets/close_statement.js +21 -0
- package/.output/server/node_modules/mysql2/lib/packets/column_definition.js +291 -0
- package/.output/server/node_modules/mysql2/lib/packets/encode_parameter.js +69 -0
- package/.output/server/node_modules/mysql2/lib/packets/execute.js +177 -0
- package/.output/server/node_modules/mysql2/lib/packets/handshake.js +112 -0
- package/.output/server/node_modules/mysql2/lib/packets/handshake_response.js +173 -0
- package/.output/server/node_modules/mysql2/lib/packets/index.js +154 -0
- package/.output/server/node_modules/mysql2/lib/packets/packet.js +978 -0
- package/.output/server/node_modules/mysql2/lib/packets/prepare_statement.js +27 -0
- package/.output/server/node_modules/mysql2/lib/packets/prepared_statement_header.js +16 -0
- package/.output/server/node_modules/mysql2/lib/packets/query.js +102 -0
- package/.output/server/node_modules/mysql2/lib/packets/register_slave.js +46 -0
- package/.output/server/node_modules/mysql2/lib/packets/reset_connection.js +17 -0
- package/.output/server/node_modules/mysql2/lib/packets/resultset_header.js +124 -0
- package/.output/server/node_modules/mysql2/lib/packets/ssl_request.js +25 -0
- package/.output/server/node_modules/mysql2/lib/packets/text_row.js +47 -0
- package/.output/server/node_modules/mysql2/lib/parsers/binary_parser.js +235 -0
- package/.output/server/node_modules/mysql2/lib/parsers/parser_cache.js +68 -0
- package/.output/server/node_modules/mysql2/lib/parsers/static_binary_parser.js +213 -0
- package/.output/server/node_modules/mysql2/lib/parsers/static_text_parser.js +152 -0
- package/.output/server/node_modules/mysql2/lib/parsers/string.js +50 -0
- package/.output/server/node_modules/mysql2/lib/parsers/text_parser.js +214 -0
- package/.output/server/node_modules/mysql2/lib/pool.js +12 -0
- package/.output/server/node_modules/mysql2/lib/pool_cluster.js +375 -0
- package/.output/server/node_modules/mysql2/lib/pool_config.js +34 -0
- package/.output/server/node_modules/mysql2/lib/pool_connection.js +81 -0
- package/.output/server/node_modules/mysql2/lib/promise/capture_local_err.js +25 -0
- package/.output/server/node_modules/mysql2/lib/promise/connection.js +237 -0
- package/.output/server/node_modules/mysql2/lib/promise/inherit_events.js +27 -0
- package/.output/server/node_modules/mysql2/lib/promise/make_done_cb.js +16 -0
- package/.output/server/node_modules/mysql2/lib/promise/pool.js +118 -0
- package/.output/server/node_modules/mysql2/lib/promise/pool_cluster.js +59 -0
- package/.output/server/node_modules/mysql2/lib/promise/pool_connection.js +19 -0
- package/.output/server/node_modules/mysql2/lib/promise/prepared_statement_info.js +35 -0
- package/.output/server/node_modules/mysql2/lib/server.js +37 -0
- package/.output/server/node_modules/mysql2/lib/tracing.js +81 -0
- package/.output/server/node_modules/mysql2/package.json +95 -0
- package/.output/server/node_modules/mysql2/promise.js +209 -0
- package/.output/server/node_modules/named-placeholders/index.js +179 -0
- package/.output/server/node_modules/named-placeholders/package.json +36 -0
- package/.output/server/node_modules/oracledb/index.js +27 -0
- package/.output/server/node_modules/oracledb/lib/aqDeqOptions.js +186 -0
- package/.output/server/node_modules/oracledb/lib/aqEnqOptions.js +81 -0
- package/.output/server/node_modules/oracledb/lib/aqMessage.js +149 -0
- package/.output/server/node_modules/oracledb/lib/aqQueue.js +293 -0
- package/.output/server/node_modules/oracledb/lib/connection.js +1842 -0
- package/.output/server/node_modules/oracledb/lib/constants.js +210 -0
- package/.output/server/node_modules/oracledb/lib/dbObject.js +606 -0
- package/.output/server/node_modules/oracledb/lib/errors.js +1046 -0
- package/.output/server/node_modules/oracledb/lib/future.js +53 -0
- package/.output/server/node_modules/oracledb/lib/impl/aqDeqOptions.js +206 -0
- package/.output/server/node_modules/oracledb/lib/impl/aqEnqOptions.js +89 -0
- package/.output/server/node_modules/oracledb/lib/impl/aqMessage.js +134 -0
- package/.output/server/node_modules/oracledb/lib/impl/aqQueue.js +82 -0
- package/.output/server/node_modules/oracledb/lib/impl/base.js +45 -0
- package/.output/server/node_modules/oracledb/lib/impl/connection.js +671 -0
- package/.output/server/node_modules/oracledb/lib/impl/datahandlers/buffer.js +1214 -0
- package/.output/server/node_modules/oracledb/lib/impl/datahandlers/constants.js +110 -0
- package/.output/server/node_modules/oracledb/lib/impl/datahandlers/oson.js +852 -0
- package/.output/server/node_modules/oracledb/lib/impl/datahandlers/vector.js +197 -0
- package/.output/server/node_modules/oracledb/lib/impl/dbObject.js +159 -0
- package/.output/server/node_modules/oracledb/lib/impl/index.js +59 -0
- package/.output/server/node_modules/oracledb/lib/impl/lob.js +113 -0
- package/.output/server/node_modules/oracledb/lib/impl/pool.js +230 -0
- package/.output/server/node_modules/oracledb/lib/impl/resultset.js +307 -0
- package/.output/server/node_modules/oracledb/lib/impl/sodaCollection.js +175 -0
- package/.output/server/node_modules/oracledb/lib/impl/sodaDatabase.js +82 -0
- package/.output/server/node_modules/oracledb/lib/impl/sodaDocCursor.js +64 -0
- package/.output/server/node_modules/oracledb/lib/impl/sodaDocument.js +89 -0
- package/.output/server/node_modules/oracledb/lib/impl/sodaOperation.js +110 -0
- package/.output/server/node_modules/oracledb/lib/lob.js +315 -0
- package/.output/server/node_modules/oracledb/lib/oracledb.js +1716 -0
- package/.output/server/node_modules/oracledb/lib/pool.js +873 -0
- package/.output/server/node_modules/oracledb/lib/poolStatistics.js +143 -0
- package/.output/server/node_modules/oracledb/lib/queryStream.js +119 -0
- package/.output/server/node_modules/oracledb/lib/resultset.js +368 -0
- package/.output/server/node_modules/oracledb/lib/settings.js +221 -0
- package/.output/server/node_modules/oracledb/lib/sodaCollection.js +284 -0
- package/.output/server/node_modules/oracledb/lib/sodaDatabase.js +176 -0
- package/.output/server/node_modules/oracledb/lib/sodaDocCursor.js +82 -0
- package/.output/server/node_modules/oracledb/lib/sodaDocument.js +125 -0
- package/.output/server/node_modules/oracledb/lib/sodaOperation.js +236 -0
- package/.output/server/node_modules/oracledb/lib/thin/aq.js +475 -0
- package/.output/server/node_modules/oracledb/lib/thin/connection.js +1504 -0
- package/.output/server/node_modules/oracledb/lib/thin/dbObject.js +737 -0
- package/.output/server/node_modules/oracledb/lib/thin/index.js +40 -0
- package/.output/server/node_modules/oracledb/lib/thin/lob.js +380 -0
- package/.output/server/node_modules/oracledb/lib/thin/pool.js +738 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/capabilities.js +145 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/constants.js +872 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/encryptDecrypt.js +197 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/aqArray.js +238 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/aqBase.js +305 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/aqDeq.js +164 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/aqEnq.js +135 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/auth.js +376 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/base.js +568 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/commit.js +56 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/dataType.js +401 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/execute.js +358 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/fastAuth.js +83 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/fetch.js +64 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/index.js +59 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/lobOp.js +195 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/logOff.js +52 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/ping.js +56 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/protocol.js +97 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/rollback.js +56 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/sessionRelease.js +60 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/transactionChangeState.js +99 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/transactionSwitch.js +147 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/withData.js +920 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/packet.js +631 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/protocol.js +240 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/utils.js +82 -0
- package/.output/server/node_modules/oracledb/lib/thin/resultSet.js +122 -0
- package/.output/server/node_modules/oracledb/lib/thin/sqlnet/ANO.js +438 -0
- package/.output/server/node_modules/oracledb/lib/thin/sqlnet/connStrategy.js +316 -0
- package/.output/server/node_modules/oracledb/lib/thin/sqlnet/constants.js +210 -0
- package/.output/server/node_modules/oracledb/lib/thin/sqlnet/ezConnectResolver.js +466 -0
- package/.output/server/node_modules/oracledb/lib/thin/sqlnet/navNodes.js +904 -0
- package/.output/server/node_modules/oracledb/lib/thin/sqlnet/networkSession.js +733 -0
- package/.output/server/node_modules/oracledb/lib/thin/sqlnet/ntTcp.js +609 -0
- package/.output/server/node_modules/oracledb/lib/thin/sqlnet/nvStrToNvPair.js +780 -0
- package/.output/server/node_modules/oracledb/lib/thin/sqlnet/packet.js +439 -0
- package/.output/server/node_modules/oracledb/lib/thin/sqlnet/paramParser.js +239 -0
- package/.output/server/node_modules/oracledb/lib/thin/sqlnet/sessionAtts.js +198 -0
- package/.output/server/node_modules/oracledb/lib/thin/statement.js +573 -0
- package/.output/server/node_modules/oracledb/lib/thin/statementCache.js +195 -0
- package/.output/server/node_modules/oracledb/lib/thin/util.js +254 -0
- package/.output/server/node_modules/oracledb/lib/traceHandler.js +133 -0
- package/.output/server/node_modules/oracledb/lib/transformer.js +279 -0
- package/.output/server/node_modules/oracledb/lib/types.js +592 -0
- package/.output/server/node_modules/oracledb/lib/util.js +648 -0
- package/.output/server/node_modules/oracledb/lib/version.js +36 -0
- package/.output/server/node_modules/oracledb/package.json +48 -0
- package/.output/server/node_modules/sql-escaper/lib/index.js +398 -0
- package/.output/server/node_modules/sql-escaper/package.json +81 -0
- package/.output/server/node_modules/sqlite3/build/Release/node_sqlite3.node +0 -0
- package/.output/server/node_modules/ssh2/lib/protocol/crypto/build/Release/sshcrypto.node +0 -0
- package/.output/server/package.json +14 -18
- package/package.json +2 -2
- package/.output/public/_nuxt/019vQzZn.js +0 -1
- package/.output/public/_nuxt/0lRW_xjL.js +0 -1
- package/.output/public/_nuxt/B6EI6PpE.js +0 -1
- package/.output/public/_nuxt/B9Mt45db.js +0 -1
- package/.output/public/_nuxt/BKltSiU0.js +0 -1
- package/.output/public/_nuxt/BM4vnZvX.js +0 -732
- package/.output/public/_nuxt/BNYR501z.js +0 -1
- package/.output/public/_nuxt/BVLVn__t.js +0 -9
- package/.output/public/_nuxt/BY1l0S_M.js +0 -1
- package/.output/public/_nuxt/BaseCodeEditor.SAr2eD8R.css +0 -1
- package/.output/public/_nuxt/BcvJQkv0.js +0 -1
- package/.output/public/_nuxt/BdN9B2_l.js +0 -160
- package/.output/public/_nuxt/BflvengI.js +0 -1
- package/.output/public/_nuxt/BgolbRTO.js +0 -1
- package/.output/public/_nuxt/BwISH3M4.js +0 -1
- package/.output/public/_nuxt/C-M4q4KX.js +0 -1
- package/.output/public/_nuxt/C2Ziircr.js +0 -1
- package/.output/public/_nuxt/C3NWXcpd.js +0 -39
- package/.output/public/_nuxt/C5p44jKD.js +0 -1
- package/.output/public/_nuxt/C617vhDd.js +0 -1
- package/.output/public/_nuxt/C8S0o4Gy.js +0 -1
- package/.output/public/_nuxt/CNlsVoWh.js +0 -1
- package/.output/public/_nuxt/CWkPMmwS.js +0 -2
- package/.output/public/_nuxt/Cgy4ijjN.js +0 -67
- package/.output/public/_nuxt/ClBBUcFW.js +0 -1
- package/.output/public/_nuxt/CuRyxljq.js +0 -1
- package/.output/public/_nuxt/Cx4Bnfq1.js +0 -2
- package/.output/public/_nuxt/D-H6_V16.js +0 -1
- package/.output/public/_nuxt/D-SDqguC.js +0 -1
- package/.output/public/_nuxt/D-XwprNU.js +0 -6
- package/.output/public/_nuxt/D3G5Xy_-.js +0 -1
- package/.output/public/_nuxt/D9o5Pdvp.js +0 -1
- package/.output/public/_nuxt/DFArp87o.js +0 -1
- package/.output/public/_nuxt/DFZIXzfU.js +0 -1
- package/.output/public/_nuxt/DHRNt0p9.js +0 -1
- package/.output/public/_nuxt/DLKku6fV.js +0 -1
- package/.output/public/_nuxt/DWgjNKGq.js +0 -152
- package/.output/public/_nuxt/DYm57BZk.js +0 -2
- package/.output/public/_nuxt/DaQw8gVp.js +0 -1
- package/.output/public/_nuxt/DgnsV5Qb.js +0 -1
- package/.output/public/_nuxt/Do5Fyo7J.js +0 -1
- package/.output/public/_nuxt/Dqirx7MF.js +0 -1
- package/.output/public/_nuxt/GoTwJjoS.js +0 -39
- package/.output/public/_nuxt/Hs25HoUO.js +0 -22
- package/.output/public/_nuxt/J2CvNR3L.js +0 -1
- package/.output/public/_nuxt/LK6Q8l0D.js +0 -1
- package/.output/public/_nuxt/Oh9SO2qg.js +0 -1
- package/.output/public/_nuxt/P_8UoGnr.js +0 -72
- package/.output/public/_nuxt/V5yaR3hv.js +0 -2
- package/.output/public/_nuxt/XWTuAj6n.js +0 -1
- package/.output/public/_nuxt/XqwbcqcW.js +0 -1
- package/.output/public/_nuxt/Yzrsuije.js +0 -1
- package/.output/public/_nuxt/_8UrUcVF.js +0 -1
- package/.output/public/_nuxt/builds/meta/27a307c3-bfc5-4ccd-94b8-387eb94981bb.json +0 -1
- package/.output/public/_nuxt/cKBf5-av.js +0 -1
- package/.output/public/_nuxt/entry.DeK5kcSi.css +0 -1
- package/.output/public/_nuxt/kc-op4gz.js +0 -12
- package/.output/public/_nuxt/kehy-5uo.js +0 -1
- package/.output/public/_nuxt/lSaGvORn.js +0 -10
- package/.output/public/_nuxt/lY3EyFEK.js +0 -1
- package/.output/public/_nuxt/tMhdAKU2.js +0 -3
- package/.output/public/_nuxt/uyCIL8xw.js +0 -1
- package/.output/server/node_modules/cross-spawn/index.js +0 -39
- package/.output/server/node_modules/cross-spawn/lib/enoent.js +0 -59
- package/.output/server/node_modules/cross-spawn/lib/parse.js +0 -91
- package/.output/server/node_modules/cross-spawn/lib/util/escape.js +0 -47
- package/.output/server/node_modules/cross-spawn/lib/util/readShebang.js +0 -23
- package/.output/server/node_modules/cross-spawn/lib/util/resolveCommand.js +0 -52
- package/.output/server/node_modules/cross-spawn/package.json +0 -73
- package/.output/server/node_modules/execa/index.js +0 -268
- package/.output/server/node_modules/execa/lib/command.js +0 -52
- package/.output/server/node_modules/execa/lib/error.js +0 -88
- package/.output/server/node_modules/execa/lib/kill.js +0 -115
- package/.output/server/node_modules/execa/lib/promise.js +0 -46
- package/.output/server/node_modules/execa/lib/stdio.js +0 -52
- package/.output/server/node_modules/execa/lib/stream.js +0 -97
- package/.output/server/node_modules/execa/package.json +0 -74
- package/.output/server/node_modules/get-stream/buffer-stream.js +0 -52
- package/.output/server/node_modules/get-stream/index.js +0 -61
- package/.output/server/node_modules/get-stream/package.json +0 -47
- package/.output/server/node_modules/human-signals/build/src/core.js +0 -273
- package/.output/server/node_modules/human-signals/build/src/main.js +0 -71
- package/.output/server/node_modules/human-signals/build/src/realtime.js +0 -19
- package/.output/server/node_modules/human-signals/build/src/signals.js +0 -35
- package/.output/server/node_modules/human-signals/package.json +0 -64
- package/.output/server/node_modules/is-stream/index.js +0 -28
- package/.output/server/node_modules/is-stream/package.json +0 -42
- package/.output/server/node_modules/isexe/index.js +0 -57
- package/.output/server/node_modules/isexe/mode.js +0 -41
- package/.output/server/node_modules/isexe/package.json +0 -31
- package/.output/server/node_modules/isexe/windows.js +0 -42
- package/.output/server/node_modules/merge-stream/index.js +0 -41
- package/.output/server/node_modules/merge-stream/package.json +0 -19
- package/.output/server/node_modules/mimic-fn/index.js +0 -13
- package/.output/server/node_modules/mimic-fn/package.json +0 -42
- package/.output/server/node_modules/npm-run-path/index.js +0 -47
- package/.output/server/node_modules/npm-run-path/package.json +0 -44
- package/.output/server/node_modules/onetime/index.js +0 -44
- package/.output/server/node_modules/onetime/package.json +0 -43
- package/.output/server/node_modules/path-key/index.js +0 -16
- package/.output/server/node_modules/path-key/package.json +0 -39
- package/.output/server/node_modules/pg-dump-restore/lib/common.js +0 -33
- package/.output/server/node_modules/pg-dump-restore/lib/index.js +0 -9
- package/.output/server/node_modules/pg-dump-restore/lib/pg-dump.js +0 -95
- package/.output/server/node_modules/pg-dump-restore/lib/pg-restore.js +0 -87
- package/.output/server/node_modules/pg-dump-restore/package.json +0 -66
- package/.output/server/node_modules/shebang-command/index.js +0 -19
- package/.output/server/node_modules/shebang-command/package.json +0 -34
- package/.output/server/node_modules/shebang-regex/index.js +0 -2
- package/.output/server/node_modules/shebang-regex/package.json +0 -35
- package/.output/server/node_modules/signal-exit/index.js +0 -202
- package/.output/server/node_modules/signal-exit/package.json +0 -38
- package/.output/server/node_modules/signal-exit/signals.js +0 -53
- package/.output/server/node_modules/strip-final-newline/index.js +0 -16
- package/.output/server/node_modules/strip-final-newline/package.json +0 -40
- package/.output/server/node_modules/which/package.json +0 -43
- package/.output/server/node_modules/which/which.js +0 -125
|
@@ -0,0 +1,1716 @@
|
|
|
1
|
+
// Copyright (c) 2015, 2025, Oracle and/or its affiliates.
|
|
2
|
+
|
|
3
|
+
//-----------------------------------------------------------------------------
|
|
4
|
+
//
|
|
5
|
+
// This software is dual-licensed to you under the Universal Permissive License
|
|
6
|
+
// (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl and Apache License
|
|
7
|
+
// 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose
|
|
8
|
+
// either license.
|
|
9
|
+
//
|
|
10
|
+
// If you elect to accept the software under the Apache License, Version 2.0,
|
|
11
|
+
// the following applies:
|
|
12
|
+
//
|
|
13
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
14
|
+
// you may not use this file except in compliance with the License.
|
|
15
|
+
// You may obtain a copy of the License at
|
|
16
|
+
//
|
|
17
|
+
// https://www.apache.org/licenses/LICENSE-2.0
|
|
18
|
+
//
|
|
19
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
20
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
21
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
22
|
+
// See the License for the specific language governing permissions and
|
|
23
|
+
// limitations under the License.
|
|
24
|
+
//
|
|
25
|
+
//-----------------------------------------------------------------------------
|
|
26
|
+
|
|
27
|
+
'use strict';
|
|
28
|
+
|
|
29
|
+
const constants = require('./constants.js');
|
|
30
|
+
const nodbUtil = require('./util.js');
|
|
31
|
+
const errors = require('./errors.js');
|
|
32
|
+
const types = require('./types.js');
|
|
33
|
+
const impl = require('./impl');
|
|
34
|
+
const process = require('process');
|
|
35
|
+
const util = require('util');
|
|
36
|
+
|
|
37
|
+
// This version of node-oracledb works with Node.js 14.17 or later.
|
|
38
|
+
// Note: the checked version is the minimum required for Node-API
|
|
39
|
+
// compatibility. When new Node.js versions are released, older Node.js
|
|
40
|
+
// versions are dropped from the node-oracledb test plan.
|
|
41
|
+
//
|
|
42
|
+
// Keep this code in sync with package/install.js
|
|
43
|
+
const vs = process.version.substring(1).split(".").map(Number);
|
|
44
|
+
errors.assert(vs[0] > 14 || (vs[0] === 14 && vs[1] >= 17),
|
|
45
|
+
errors.ERR_NODE_TOO_OLD, nodbUtil.PACKAGE_JSON_VERSION, "14.17");
|
|
46
|
+
|
|
47
|
+
const AqDeqOptions = require('./aqDeqOptions.js');
|
|
48
|
+
const AqEnqOptions = require('./aqEnqOptions.js');
|
|
49
|
+
const AqMessage = require('./aqMessage.js');
|
|
50
|
+
const protocolUtil = require('./thin/protocol/utils.js');
|
|
51
|
+
const AqQueue = require('./aqQueue.js');
|
|
52
|
+
const future = require('./future.js');
|
|
53
|
+
const traceHandler = require('./traceHandler.js');
|
|
54
|
+
const BaseDbObject = require('./dbObject.js');
|
|
55
|
+
const Connection = require('./connection.js');
|
|
56
|
+
const Lob = require('./lob.js');
|
|
57
|
+
const Pool = require('./pool.js');
|
|
58
|
+
const PoolStatistics = require('./poolStatistics.js');
|
|
59
|
+
const ResultSet = require('./resultset.js');
|
|
60
|
+
const settings = require('./settings.js');
|
|
61
|
+
const SodaDatabase = require('./sodaDatabase.js');
|
|
62
|
+
const SodaCollection = require('./sodaCollection.js');
|
|
63
|
+
const SodaDocCursor = require('./sodaDocCursor.js');
|
|
64
|
+
const SodaDocument = require('./sodaDocument.js');
|
|
65
|
+
const SodaOperation = require('./sodaOperation.js');
|
|
66
|
+
|
|
67
|
+
const poolCache = {};
|
|
68
|
+
const tempUsedPoolAliases = {};
|
|
69
|
+
const defaultPoolAlias = 'default';
|
|
70
|
+
const registeredHooks = [];
|
|
71
|
+
const registeredConfigProviderHooks = new Map();
|
|
72
|
+
let configProviderCache;
|
|
73
|
+
|
|
74
|
+
// save arguments for call to initOracleClient()
|
|
75
|
+
let _initOracleClientArgs;
|
|
76
|
+
|
|
77
|
+
// Load the Oracledb binary
|
|
78
|
+
function _initCLib(options) {
|
|
79
|
+
// Ensure that webpack compile does not throw any issues or warnings
|
|
80
|
+
// See https://github.com/oracle/node-oracledb/issues/1156
|
|
81
|
+
// and https://github.com/oracle/node-oracledb/issues/1678
|
|
82
|
+
const nodeVer = typeof process !== 'undefined' && process.versions?.node;
|
|
83
|
+
/*global __non_webpack_require__*/ // quieten eslint
|
|
84
|
+
const requireBinary = nodeVer
|
|
85
|
+
? (typeof __webpack_require__ === 'function')
|
|
86
|
+
? __non_webpack_require__
|
|
87
|
+
: require
|
|
88
|
+
: undefined;
|
|
89
|
+
const binaryLocations = [
|
|
90
|
+
'../' + nodbUtil.RELEASE_DIR + '/' + nodbUtil.BINARY_FILE, // pre-built binary
|
|
91
|
+
'../' + nodbUtil.RELEASE_DIR + '/' + nodbUtil.BUILD_FILE, // binary built from source
|
|
92
|
+
'../build/Debug/' + nodbUtil.BUILD_FILE, // debug binary
|
|
93
|
+
// Paths for Webpack.
|
|
94
|
+
// Note: to use node-oracledb Thick mode, you will need a Webpack copy plugin to
|
|
95
|
+
// copy 'node_modules/oracledb/build/' to the output directory,
|
|
96
|
+
// see https://github.com/oracle/node-oracledb/issues/1156
|
|
97
|
+
// If you want to use only node-oracledb Thin mode, a copy plugin is not needed.
|
|
98
|
+
'./node_modules/oracledb/' + nodbUtil.RELEASE_DIR + '/' + nodbUtil.BINARY_FILE,
|
|
99
|
+
'./node_modules/oracledb/' + nodbUtil.RELEASE_DIR + '/' + nodbUtil.BUILD_FILE
|
|
100
|
+
];
|
|
101
|
+
|
|
102
|
+
if (options.binaryDir !== undefined) {
|
|
103
|
+
binaryLocations.splice(0, 0, options.binaryDir + '/' + nodbUtil.BINARY_FILE,
|
|
104
|
+
options.binaryDir + '/' + nodbUtil.BUILD_FILE);
|
|
105
|
+
}
|
|
106
|
+
let oracledbCLib;
|
|
107
|
+
for (let i = 0; i < binaryLocations.length; i++) {
|
|
108
|
+
try {
|
|
109
|
+
oracledbCLib = requireBinary(binaryLocations[i]);
|
|
110
|
+
break;
|
|
111
|
+
} catch (err) {
|
|
112
|
+
if (err.code !== 'MODULE_NOT_FOUND' || i == binaryLocations.length - 1) {
|
|
113
|
+
let nodeInfo;
|
|
114
|
+
if (err.code === 'MODULE_NOT_FOUND') {
|
|
115
|
+
// A binary was not found in any of the search directories.
|
|
116
|
+
// Note this message may not be accurate for Webpack users since Webpack changes __dirname
|
|
117
|
+
nodeInfo = `\n Looked for ${binaryLocations.map(x => require('path').resolve(__dirname, x)).join(', ')}\n ${nodbUtil.getInstallURL()}\n`;
|
|
118
|
+
} else {
|
|
119
|
+
nodeInfo = `\n Node.js require('oracledb') error was:\n ${err.message}\n ${nodbUtil.getInstallHelp()}\n`;
|
|
120
|
+
}
|
|
121
|
+
errors.throwErr(errors.ERR_CANNOT_LOAD_BINARY, nodeInfo);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return oracledbCLib;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
// top-level functions
|
|
129
|
+
|
|
130
|
+
function _initializeThinDriver() {
|
|
131
|
+
require('./thin');
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
//-----------------------------------------------------------------------------
|
|
135
|
+
// _verifyOptions()
|
|
136
|
+
//
|
|
137
|
+
// Verify that the values passed by the user for connection and pool creation
|
|
138
|
+
// options are acceptable. Performs any transformations that are necessary.
|
|
139
|
+
//-----------------------------------------------------------------------------
|
|
140
|
+
async function _verifyOptions(options, inCreatePool) {
|
|
141
|
+
|
|
142
|
+
// define normalized options (value returned to caller)
|
|
143
|
+
const outOptions = {};
|
|
144
|
+
|
|
145
|
+
options = await _checkConfigProvider(options);
|
|
146
|
+
// only one of "user" and "username" may be specified (and must be strings)
|
|
147
|
+
if (options.user !== undefined) {
|
|
148
|
+
errors.assertParamPropValue(typeof options.user === 'string', 1, "user");
|
|
149
|
+
outOptions.user = options.user;
|
|
150
|
+
}
|
|
151
|
+
if (options.username !== undefined) {
|
|
152
|
+
errors.assert(outOptions.user === undefined, errors.ERR_DBL_USER);
|
|
153
|
+
errors.assertParamPropValue(typeof options.username === 'string', 1,
|
|
154
|
+
"username");
|
|
155
|
+
outOptions.user = options.username;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
// password must be a string
|
|
159
|
+
if (options.password !== undefined) {
|
|
160
|
+
errors.assertParamPropValue(typeof options.password === 'string', 1,
|
|
161
|
+
"password");
|
|
162
|
+
outOptions.password = options.password;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
// only one of "connectString" and "connectionString" may be specified (and
|
|
166
|
+
// must be strings)
|
|
167
|
+
if (options.connectString !== undefined) {
|
|
168
|
+
errors.assertParamPropValue(typeof options.connectString === 'string', 1,
|
|
169
|
+
"connectString");
|
|
170
|
+
outOptions.connectString = options.connectString;
|
|
171
|
+
}
|
|
172
|
+
if (options.connectionString !== undefined) {
|
|
173
|
+
errors.assert(outOptions.connectString === undefined,
|
|
174
|
+
errors.ERR_DBL_CONNECT_STRING);
|
|
175
|
+
errors.assertParamPropValue(typeof options.connectionString === 'string',
|
|
176
|
+
1, "connectionString");
|
|
177
|
+
outOptions.connectString = options.connectionString;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
// wallet password must be string
|
|
181
|
+
if (options.walletPassword !== undefined) {
|
|
182
|
+
errors.assertParamPropValue(typeof options.walletPassword === 'string', 1,
|
|
183
|
+
"walletPassword");
|
|
184
|
+
outOptions.walletPassword = options.walletPassword;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
//wallet location must be a string
|
|
188
|
+
if (options.walletLocation !== undefined) {
|
|
189
|
+
errors.assertParamPropValue(typeof options.walletLocation === 'string', 1,
|
|
190
|
+
"walletLocation");
|
|
191
|
+
outOptions.walletLocation = options.walletLocation;
|
|
192
|
+
}
|
|
193
|
+
if (options.networkCompression !== undefined) {
|
|
194
|
+
errors.assertParamPropValue(typeof options.networkCompression === 'boolean', 1,
|
|
195
|
+
"networkCompression");
|
|
196
|
+
outOptions.networkCompression = options.networkCompression;
|
|
197
|
+
outOptions.networkCompressionLevels = [];
|
|
198
|
+
outOptions.networkCompressionLevels.push('high');
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
if (options.networkCompressionThreshold !== undefined) {
|
|
202
|
+
errors.assertParamPropValue(Number.isInteger(options.networkCompressionThreshold), 1, "networkCompressionThreshold");
|
|
203
|
+
outOptions.networkCompressionThreshold = options.networkCompressionThreshold;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
//wallet content must be a string
|
|
207
|
+
if (options.walletContent !== undefined) {
|
|
208
|
+
errors.assertParamPropValue(typeof options.walletContent === 'string', 1,
|
|
209
|
+
"walletContent");
|
|
210
|
+
outOptions.walletContent = options.walletContent;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
// edition must be a string
|
|
214
|
+
if (options.edition !== undefined) {
|
|
215
|
+
errors.assertParamPropValue(typeof options.edition === 'string', 1,
|
|
216
|
+
"edition");
|
|
217
|
+
outOptions.edition = options.edition;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
// stmtCacheSize must be an integer (>= 0)
|
|
221
|
+
if (options.stmtCacheSize !== undefined) {
|
|
222
|
+
errors.assertParamPropValue(Number.isInteger(options.stmtCacheSize) &&
|
|
223
|
+
options.stmtCacheSize >= 0, 1, "stmtCacheSize");
|
|
224
|
+
outOptions.stmtCacheSize = options.stmtCacheSize;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
// externalAuth must be a boolean
|
|
228
|
+
outOptions.externalAuth = settings.externalAuth;
|
|
229
|
+
if (options.externalAuth !== undefined) {
|
|
230
|
+
errors.assertParamPropValue(typeof options.externalAuth === 'boolean', 1,
|
|
231
|
+
"externalAuth");
|
|
232
|
+
outOptions.externalAuth = options.externalAuth;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
// events must be a boolean
|
|
236
|
+
if (options.events !== undefined) {
|
|
237
|
+
errors.assertParamPropValue(typeof options.events === 'boolean', 1,
|
|
238
|
+
"events");
|
|
239
|
+
outOptions.events = options.events;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
// poolAlias must be a string
|
|
243
|
+
if (options.poolAlias !== undefined) {
|
|
244
|
+
errors.assertParamPropValue(typeof options.poolAlias === 'string' &&
|
|
245
|
+
options.poolAlias.length > 0, 1, "poolAlias");
|
|
246
|
+
outOptions.poolAlias = options.poolAlias;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
// configDir must be a string
|
|
250
|
+
if (options.configDir !== undefined) {
|
|
251
|
+
errors.assertParamPropValue(typeof options.configDir === 'string',
|
|
252
|
+
1, "configDir");
|
|
253
|
+
outOptions.configDir = options.configDir;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
// sslServerServerCertDN must be a string
|
|
257
|
+
if (options.sslServerCertDN !== undefined) {
|
|
258
|
+
errors.assertParamPropValue(typeof options.sslServerCertDN === 'string',
|
|
259
|
+
1, "sslServerCertDN");
|
|
260
|
+
outOptions.sslServerCertDN = options.sslServerCertDN;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
// sslServerServerDNMatch must be a boolean
|
|
264
|
+
if (options.sslServerDNMatch !== undefined) {
|
|
265
|
+
errors.assertParamPropValue(typeof options.sslServerDNMatch === 'boolean',
|
|
266
|
+
1, "sslServerDNMatch");
|
|
267
|
+
outOptions.sslServerDNMatch = options.sslServerDNMatch;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
// sslAllowWeakDNMatch must be a boolean
|
|
271
|
+
if (options.sslAllowWeakDNMatch !== undefined) {
|
|
272
|
+
errors.assertParamPropValue(typeof options.sslAllowWeakDNMatch === 'boolean',
|
|
273
|
+
1, "sslAllowWeakDNMatch");
|
|
274
|
+
outOptions.sslAllowWeakDNMatch = options.sslAllowWeakDNMatch;
|
|
275
|
+
}
|
|
276
|
+
// httpsProxy must be a string
|
|
277
|
+
if (options.httpsProxy !== undefined) {
|
|
278
|
+
errors.assertParamPropValue(typeof options.httpsProxy === 'string',
|
|
279
|
+
1, "httpsProxy");
|
|
280
|
+
outOptions.httpsProxy = options.httpsProxy;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
// httpsProxyPort must be an integer (>= 0)
|
|
284
|
+
if (options.httpsProxyPort !== undefined) {
|
|
285
|
+
errors.assertParamPropValue(Number.isInteger(options.httpsProxyPort) &&
|
|
286
|
+
options.httpsProxyPort >= 0, 1, "httpsProxyPort");
|
|
287
|
+
outOptions.httpsProxyPort = options.httpsProxyPort;
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
//retryCount must be an integer (>=0)
|
|
291
|
+
if (options.retryCount !== undefined) {
|
|
292
|
+
errors.assertParamPropValue(Number.isInteger(options.retryCount) &&
|
|
293
|
+
options.retryCount >= 0, 1, "retryCount");
|
|
294
|
+
outOptions.retryCount = options.retryCount;
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
//retryDelay must be an integer (>=0)
|
|
298
|
+
if (options.retryDelay !== undefined) {
|
|
299
|
+
errors.assertParamPropValue(Number.isInteger(options.retryDelay) &&
|
|
300
|
+
options.retryDelay >= 0, 1, "retryDelay");
|
|
301
|
+
outOptions.retryDelay = options.retryDelay;
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
// connectTimeout must be an integer (>= 0)
|
|
305
|
+
if (options.connectTimeout !== undefined) {
|
|
306
|
+
errors.assertParamPropValue(Number.isInteger(options.connectTimeout) &&
|
|
307
|
+
options.connectTimeout >= 0, 1, "connectTimeout");
|
|
308
|
+
outOptions.connectTimeout = options.connectTimeout;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
// transportConnectTimeout must be an integer (>= 0)
|
|
312
|
+
if (options.transportConnectTimeout !== undefined) {
|
|
313
|
+
errors.assertParamPropValue(Number.isInteger(options.transportConnectTimeout) &&
|
|
314
|
+
options.transportConnectTimeout >= 0, 1, "transportConnectTimeout");
|
|
315
|
+
outOptions.transportConnectTimeout = options.transportConnectTimeout;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
// expireTime must be an integer (>= 0)
|
|
319
|
+
if (options.expireTime !== undefined) {
|
|
320
|
+
errors.assertParamPropValue(Number.isInteger(options.expireTime) &&
|
|
321
|
+
options.expireTime >= 0, 1, "expireTime");
|
|
322
|
+
outOptions.expireTime = options.expireTime;
|
|
323
|
+
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
// sdu must be an integer (> 0)
|
|
327
|
+
if (options.sdu !== undefined) {
|
|
328
|
+
errors.assertParamPropValue(Number.isInteger(options.sdu) &&
|
|
329
|
+
options.sdu > 0, 1, "sdu");
|
|
330
|
+
outOptions.sdu = options.sdu;
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
// connectionIdPrefix must be a string
|
|
334
|
+
if (options.connectionIdPrefix !== undefined) {
|
|
335
|
+
errors.assertParamPropValue(typeof options.connectionIdPrefix === 'string',
|
|
336
|
+
1, "connectionIdPrefix");
|
|
337
|
+
outOptions.connectionIdPrefix = options.connectionIdPrefix;
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
// privilege must be one of a set of named constants
|
|
341
|
+
if (options.privilege !== undefined) {
|
|
342
|
+
errors.assertParamPropValue(nodbUtil.isPrivilege(options.privilege), 1,
|
|
343
|
+
"privilege");
|
|
344
|
+
outOptions.privilege = options.privilege;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
// machine must be a string
|
|
348
|
+
if (options.machine !== undefined) {
|
|
349
|
+
nodbUtil.assertParamPropNetworkName(options, 1, "machine");
|
|
350
|
+
outOptions.machine = options.machine;
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
// osUser must be a string
|
|
354
|
+
if (options.osUser !== undefined) {
|
|
355
|
+
nodbUtil.assertParamPropNetworkName(options, 1, "osUser");
|
|
356
|
+
outOptions.osUser = options.osUser;
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
// driverName must be a string
|
|
360
|
+
if (options.driverName !== undefined) {
|
|
361
|
+
errors.assertParamPropValue(typeof options.driverName === 'string',
|
|
362
|
+
1, "driverName");
|
|
363
|
+
outOptions.driverName = options.driverName;
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
// program must be a string
|
|
367
|
+
if (options.program !== undefined) {
|
|
368
|
+
nodbUtil.assertParamPropNetworkName(options, 1, "program");
|
|
369
|
+
outOptions.program = options.program;
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
// terminal must be a string
|
|
373
|
+
if (options.terminal !== undefined) {
|
|
374
|
+
errors.assertParamPropValue(typeof options.terminal === 'string',
|
|
375
|
+
1, "terminal");
|
|
376
|
+
outOptions.terminal = options.terminal;
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
// useSNI must be a boolean
|
|
380
|
+
if (options.useSNI !== undefined) {
|
|
381
|
+
errors.assertParamPropValue(typeof options.useSNI === 'boolean', 1,
|
|
382
|
+
"useSNI");
|
|
383
|
+
outOptions.useSNI = options.useSNI;
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
// appContext must be an array of array values. The element arrays should
|
|
387
|
+
// have 3 string values (namespace, name and value).
|
|
388
|
+
if (options.appContext !== undefined) {
|
|
389
|
+
const value = options.appContext;
|
|
390
|
+
errors.assertParamPropValue(nodbUtil.isAppContext(value), 1,
|
|
391
|
+
"appContext");
|
|
392
|
+
outOptions.appContext = options.appContext;
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
// check pool specific options
|
|
396
|
+
if (inCreatePool) {
|
|
397
|
+
|
|
398
|
+
// poolMax must be an integer > 0
|
|
399
|
+
if (options.poolMax !== undefined) {
|
|
400
|
+
errors.assertParamPropValue(Number.isInteger(options.poolMax) &&
|
|
401
|
+
options.poolMax > 0, 1, "poolMax");
|
|
402
|
+
outOptions.poolMax = options.poolMax;
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
// poolMaxPerShard must be an integer >= 0
|
|
406
|
+
if (options.poolMaxPerShard !== undefined) {
|
|
407
|
+
errors.assertParamPropValue(Number.isInteger(options.poolMaxPerShard) &&
|
|
408
|
+
options.poolMaxPerShard >= 0, 1, "poolMaxPerShard");
|
|
409
|
+
outOptions.poolMaxPerShard = options.poolMaxPerShard;
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
// poolMin must be an integer >= 0
|
|
413
|
+
if (options.poolMin !== undefined) {
|
|
414
|
+
errors.assertParamPropValue(Number.isInteger(options.poolMin) &&
|
|
415
|
+
options.poolMin >= 0, 1, "poolMin");
|
|
416
|
+
outOptions.poolMin = options.poolMin;
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
// poolIncrement must be an integer >= 0
|
|
420
|
+
if (options.poolIncrement !== undefined) {
|
|
421
|
+
errors.assertParamPropValue(Number.isInteger(options.poolIncrement) &&
|
|
422
|
+
options.poolIncrement >= 0, 1, "poolIncrement");
|
|
423
|
+
outOptions.poolIncrement = options.poolIncrement;
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
// poolTimeout must be an integer >= 0
|
|
427
|
+
if (options.poolTimeout !== undefined) {
|
|
428
|
+
errors.assertParamPropValue(Number.isInteger(options.poolTimeout) &&
|
|
429
|
+
options.poolTimeout >= 0, 1, "poolTimeout");
|
|
430
|
+
outOptions.poolTimeout = options.poolTimeout;
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
// poolPingInterval must be an integer
|
|
434
|
+
if (options.poolPingInterval !== undefined) {
|
|
435
|
+
errors.assertParamPropValue(Number.isInteger(options.poolPingInterval) &&
|
|
436
|
+
options.poolPingInterval >= -2147483648 &&
|
|
437
|
+
options.poolPingInterval <= 2147483647, 1, "poolPingInterval");
|
|
438
|
+
outOptions.poolPingInterval = options.poolPingInterval;
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
// poolPingTimeout must be an integer (>= 0)
|
|
442
|
+
if (options.poolPingTimeout !== undefined) {
|
|
443
|
+
errors.assertParamPropValue(Number.isInteger(options.poolPingTimeout) &&
|
|
444
|
+
options.poolPingTimeout >= 0, 1, "poolPingTimeout");
|
|
445
|
+
outOptions.poolPingTimeout = options.poolPingTimeout;
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
// maxLifeTime must be an unsigned integer
|
|
449
|
+
if (options.maxLifetimeSession !== undefined) {
|
|
450
|
+
errors.assertParamPropValue(Number.isInteger(options.maxLifetimeSession) &&
|
|
451
|
+
options.maxLifetimeSession >= 0, 1, "maxLifetimeSession");
|
|
452
|
+
outOptions.maxLifetimeSession = options.maxLifetimeSession;
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
// homogeneous must be a boolean (and defaults to True)
|
|
456
|
+
outOptions.homogeneous = true;
|
|
457
|
+
if (options.homogeneous !== undefined) {
|
|
458
|
+
errors.assertParamPropValue(typeof options.homogeneous === 'boolean', 1,
|
|
459
|
+
"homogeneous");
|
|
460
|
+
outOptions.homogeneous = options.homogeneous;
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
// queueTimeout must be an integer >= 0
|
|
464
|
+
if (options.queueTimeout !== undefined) {
|
|
465
|
+
errors.assertParamPropValue(Number.isInteger(options.queueTimeout) &&
|
|
466
|
+
options.queueTimeout >= 0, 1, "queueTimeout");
|
|
467
|
+
outOptions.queueTimeout = options.queueTimeout;
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
// queueMax must be an integer
|
|
471
|
+
if (options.queueMax !== undefined) {
|
|
472
|
+
errors.assertParamPropValue(Number.isInteger(options.queueMax), 1,
|
|
473
|
+
"queueMax");
|
|
474
|
+
outOptions.queueMax = options.queueMax;
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
// sodaMetaDataCache must be a boolean (and defaults to True)
|
|
478
|
+
outOptions.sodaMetaDataCache = false;
|
|
479
|
+
if (options.sodaMetaDataCache !== undefined) {
|
|
480
|
+
errors.assertParamPropValue(typeof options.sodaMetaDataCache ===
|
|
481
|
+
'boolean', 1, "sodaMetaDataCache");
|
|
482
|
+
outOptions.sodaMetaDataCache = options.sodaMetaDataCache;
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
// sessionCallback must be a function or a string
|
|
486
|
+
if (options.sessionCallback !== undefined) {
|
|
487
|
+
errors.assertParamPropValue(typeof options.sessionCallback === 'string' ||
|
|
488
|
+
typeof options.sessionCallback === 'function', 1, "sessionCallback");
|
|
489
|
+
outOptions.sessionCallback = options.sessionCallback;
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
// enableStatistics must be a boolean (_enableStats is DEPRECATED)
|
|
493
|
+
outOptions.enableStatistics = false;
|
|
494
|
+
if (options.enableStatistics !== undefined) {
|
|
495
|
+
errors.assertParamPropValue(typeof options.enableStatistics ===
|
|
496
|
+
'boolean', 1, "enableStatistics");
|
|
497
|
+
outOptions.enableStatistics = options.enableStatistics;
|
|
498
|
+
}
|
|
499
|
+
if (!outOptions.enableStatistics && options._enableStats !== undefined) {
|
|
500
|
+
errors.assertParamPropValue(typeof options._enableStats === 'boolean', 1,
|
|
501
|
+
"_enableStats");
|
|
502
|
+
outOptions.enableStatistics = options._enableStats;
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
// check connection creation specific options
|
|
506
|
+
} else {
|
|
507
|
+
|
|
508
|
+
// newPassword must be a string
|
|
509
|
+
if (options.newPassword !== undefined) {
|
|
510
|
+
errors.assertParamPropValue(typeof options.newPassword === 'string', 1,
|
|
511
|
+
"newPassword");
|
|
512
|
+
outOptions.newPassword = options.newPassword;
|
|
513
|
+
}
|
|
514
|
+
|
|
515
|
+
// shardingKey must be an array of values
|
|
516
|
+
if (options.shardingKey !== undefined) {
|
|
517
|
+
const value = options.shardingKey;
|
|
518
|
+
errors.assertParamPropValue(nodbUtil.isShardingKey(value), 1,
|
|
519
|
+
"shardingKey");
|
|
520
|
+
outOptions.shardingKey = options.shardingKey;
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
// superShardingKey must be an array of values
|
|
524
|
+
if (options.superShardingKey !== undefined) {
|
|
525
|
+
const value = options.superShardingKey;
|
|
526
|
+
errors.assertParamPropValue(nodbUtil.isShardingKey(value), 1,
|
|
527
|
+
"superShardingKey");
|
|
528
|
+
outOptions.superShardingKey = options.superShardingKey;
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
// check access token
|
|
534
|
+
if (options.accessToken !== undefined) {
|
|
535
|
+
|
|
536
|
+
// cannot set username or password for token based authentication
|
|
537
|
+
errors.assert(outOptions.user === undefined &&
|
|
538
|
+
outOptions.password === undefined, errors.ERR_TOKEN_BASED_AUTH);
|
|
539
|
+
|
|
540
|
+
// homogenous (for pool) and externalAuth (both) must be set
|
|
541
|
+
if (inCreatePool) {
|
|
542
|
+
errors.assert(outOptions.homogeneous && outOptions.externalAuth,
|
|
543
|
+
errors.ERR_POOL_TOKEN_BASED_AUTH);
|
|
544
|
+
} else {
|
|
545
|
+
errors.assert(outOptions.externalAuth, errors.ERR_CONN_TOKEN_BASED_AUTH);
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
// check the token is valid
|
|
549
|
+
let accessToken;
|
|
550
|
+
if (typeof options.accessToken === 'function') {
|
|
551
|
+
outOptions.accessTokenFn = options.accessToken;
|
|
552
|
+
outOptions.accessTokenConfig = options.accessTokenConfig;
|
|
553
|
+
try {
|
|
554
|
+
accessToken = await options.accessToken(false, outOptions.accessTokenConfig);
|
|
555
|
+
if (!nodbUtil.isTokenValid(accessToken)) {
|
|
556
|
+
accessToken = await options.accessToken(true, outOptions.accessTokenConfig);
|
|
557
|
+
}
|
|
558
|
+
} catch (error) {
|
|
559
|
+
errors.throwWrapErr(error, errors.ERR_ACCESS_TOKEN);
|
|
560
|
+
}
|
|
561
|
+
} else {
|
|
562
|
+
accessToken = options.accessToken;
|
|
563
|
+
}
|
|
564
|
+
errors.assert(nodbUtil.isTokenValid(accessToken),
|
|
565
|
+
errors.ERR_TOKEN_HAS_EXPIRED);
|
|
566
|
+
if (accessToken.privateKey !== undefined) {
|
|
567
|
+
errors.assert(typeof accessToken.privateKey === 'string', errors.ERR_TOKEN_BASED_AUTH);
|
|
568
|
+
accessToken.privateKey = nodbUtil.denormalizePrivateKey(accessToken.privateKey);
|
|
569
|
+
}
|
|
570
|
+
|
|
571
|
+
// store token and privatekey
|
|
572
|
+
if (typeof accessToken === 'string') {
|
|
573
|
+
outOptions.token = accessToken;
|
|
574
|
+
} else {
|
|
575
|
+
outOptions.token = accessToken.token;
|
|
576
|
+
outOptions.privateKey = accessToken.privateKey;
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
}
|
|
580
|
+
|
|
581
|
+
// Check external Auth config.
|
|
582
|
+
// Allow Session User enclosed in [] for proxy authentication.
|
|
583
|
+
if (outOptions.token === undefined && outOptions.externalAuth) {
|
|
584
|
+
if (outOptions.password) {
|
|
585
|
+
errors.throwErr(errors.ERR_WRONG_CRED_FOR_EXTAUTH);
|
|
586
|
+
}
|
|
587
|
+
if (outOptions.user) {
|
|
588
|
+
|
|
589
|
+
if (inCreatePool && !settings.thin) {
|
|
590
|
+
// Thick mode currently does not allow proxy users to specified
|
|
591
|
+
// during pool creation.
|
|
592
|
+
errors.throwErr(errors.ERR_WRONG_CRED_FOR_EXTAUTH);
|
|
593
|
+
} else if (outOptions.user[0] !== '[' || outOptions.user.slice(-1) !== ']') {
|
|
594
|
+
// username is not enclosed in [].
|
|
595
|
+
errors.throwErr(errors.ERR_WRONG_USER_FORMAT_EXTAUTH_PROXY);
|
|
596
|
+
}
|
|
597
|
+
}
|
|
598
|
+
}
|
|
599
|
+
|
|
600
|
+
return outOptions;
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
|
|
604
|
+
//-----------------------------------------------------------------------------
|
|
605
|
+
// createPool()
|
|
606
|
+
//
|
|
607
|
+
// Create a pool with the specified options and return it to the caller.
|
|
608
|
+
//-----------------------------------------------------------------------------
|
|
609
|
+
async function createPool(options) {
|
|
610
|
+
let poolAlias;
|
|
611
|
+
|
|
612
|
+
// check arguments
|
|
613
|
+
errors.assertArgCount(arguments, 1, 1);
|
|
614
|
+
errors.assertParamValue(nodbUtil.isObject(options), 1);
|
|
615
|
+
|
|
616
|
+
// this will invoke hookFn() written in application side.
|
|
617
|
+
// for token based auth it will generate access token and save it in options.
|
|
618
|
+
for (const hookFn of registeredHooks) {
|
|
619
|
+
// eslint-disable-next-line no-useless-catch
|
|
620
|
+
try {
|
|
621
|
+
await hookFn(options);
|
|
622
|
+
} catch (error) {
|
|
623
|
+
errors.throwWrapErr(error, errors.ERR_CALLOUT_FN);
|
|
624
|
+
}
|
|
625
|
+
}
|
|
626
|
+
|
|
627
|
+
options = await _verifyOptions(options, true);
|
|
628
|
+
const sessionCallback = options.sessionCallback;
|
|
629
|
+
if (typeof sessionCallback === 'function')
|
|
630
|
+
delete options.sessionCallback;
|
|
631
|
+
|
|
632
|
+
// determine pool alias
|
|
633
|
+
if (options.poolAlias !== undefined) {
|
|
634
|
+
poolAlias = options.poolAlias;
|
|
635
|
+
} else if (options.poolAlias === undefined
|
|
636
|
+
&& !poolCache[defaultPoolAlias]
|
|
637
|
+
&& !tempUsedPoolAliases[defaultPoolAlias]) {
|
|
638
|
+
poolAlias = defaultPoolAlias;
|
|
639
|
+
}
|
|
640
|
+
if (poolCache[poolAlias] || tempUsedPoolAliases[poolAlias]) {
|
|
641
|
+
errors.throwErr(errors.ERR_POOL_WITH_ALIAS_ALREADY_EXISTS, poolAlias);
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
// add defaults to options, if needed
|
|
645
|
+
settings.addToOptions(options,
|
|
646
|
+
"connectionClass",
|
|
647
|
+
"driverName",
|
|
648
|
+
"edition",
|
|
649
|
+
"events",
|
|
650
|
+
"externalAuth",
|
|
651
|
+
"machine",
|
|
652
|
+
"osUser",
|
|
653
|
+
"stmtCacheSize",
|
|
654
|
+
"poolMax",
|
|
655
|
+
"poolMaxPerShard",
|
|
656
|
+
"poolMin",
|
|
657
|
+
"poolIncrement",
|
|
658
|
+
"poolTimeout",
|
|
659
|
+
"poolPingInterval",
|
|
660
|
+
"poolPingTimeout",
|
|
661
|
+
"program",
|
|
662
|
+
"terminal",
|
|
663
|
+
"queueMax",
|
|
664
|
+
"queueTimeout");
|
|
665
|
+
|
|
666
|
+
// poolMax must be greater than or equal to poolMin
|
|
667
|
+
if (options.poolMin > options.poolMax) {
|
|
668
|
+
errors.throwErr(errors.ERR_INVALID_NUMBER_OF_CONNECTIONS, options.poolMax,
|
|
669
|
+
options.poolMin);
|
|
670
|
+
}
|
|
671
|
+
|
|
672
|
+
// initialize the Oracle client, if necessary
|
|
673
|
+
if (_initOracleClientArgs === undefined && !settings.thinDriverInitialized) {
|
|
674
|
+
_initializeThinDriver();
|
|
675
|
+
}
|
|
676
|
+
|
|
677
|
+
// Need to prevent another call in the same stack from succeeding, otherwise
|
|
678
|
+
// two pools could be created with the same poolAlias and the second one that
|
|
679
|
+
// comes back would overwrite the first in the cache.
|
|
680
|
+
if (poolAlias) {
|
|
681
|
+
tempUsedPoolAliases[poolAlias] = true;
|
|
682
|
+
}
|
|
683
|
+
|
|
684
|
+
// create the pool, ensuring that the temporary pool alias cache is removed
|
|
685
|
+
// once this has completed (either successfully or unsuccessfully)
|
|
686
|
+
const pool = new Pool();
|
|
687
|
+
pool._impl._connectString = options.connectString;
|
|
688
|
+
pool._impl._user = options.user;
|
|
689
|
+
try {
|
|
690
|
+
await pool._impl.create(options);
|
|
691
|
+
} finally {
|
|
692
|
+
if (poolAlias) {
|
|
693
|
+
delete tempUsedPoolAliases[poolAlias];
|
|
694
|
+
}
|
|
695
|
+
}
|
|
696
|
+
|
|
697
|
+
if (poolAlias) {
|
|
698
|
+
poolCache[poolAlias] = pool;
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
pool._setup(options, poolAlias);
|
|
702
|
+
pool._sessionCallback = sessionCallback;
|
|
703
|
+
pool.on('_afterPoolClose', () => {
|
|
704
|
+
if (pool.poolAlias) {
|
|
705
|
+
delete poolCache[pool.poolAlias];
|
|
706
|
+
}
|
|
707
|
+
});
|
|
708
|
+
if (_initOracleClientArgs === undefined) {
|
|
709
|
+
settings.thinDriverInitialized = true;
|
|
710
|
+
}
|
|
711
|
+
|
|
712
|
+
return pool;
|
|
713
|
+
}
|
|
714
|
+
|
|
715
|
+
//-----------------------------------------------------------------------------
|
|
716
|
+
// getNetworkServiceNames()
|
|
717
|
+
//
|
|
718
|
+
// Returns a list of the network service names found in the
|
|
719
|
+
// tnsnames.ora file which is inside the directory
|
|
720
|
+
// configDir or the $TNS_ADMIN dir
|
|
721
|
+
// If a tnsnames.ora file does not exist, then an exception is raised
|
|
722
|
+
//-----------------------------------------------------------------------------
|
|
723
|
+
async function getNetworkServiceNames(configDir) {
|
|
724
|
+
const { NLParamParser, tnsnamesFilePath } = require('./thin/sqlnet/paramParser.js');
|
|
725
|
+
const nlParamParser = new NLParamParser;
|
|
726
|
+
const filePath = tnsnamesFilePath(configDir);
|
|
727
|
+
const aliasht = await nlParamParser.initializeNlpa(filePath);
|
|
728
|
+
const keysArr = [ ...aliasht.keys() ];
|
|
729
|
+
return keysArr;
|
|
730
|
+
}
|
|
731
|
+
|
|
732
|
+
//-----------------------------------------------------------------------------
|
|
733
|
+
// getConnection()
|
|
734
|
+
//
|
|
735
|
+
// Gets either a standalone connection, or a connection from a pool (stored in
|
|
736
|
+
// the pool cache).
|
|
737
|
+
//-----------------------------------------------------------------------------
|
|
738
|
+
async function getConnection(a1) {
|
|
739
|
+
let options = {};
|
|
740
|
+
let poolAlias;
|
|
741
|
+
|
|
742
|
+
// determine if the connection should be acquired from a pool
|
|
743
|
+
errors.assertArgCount(arguments, 0, 1);
|
|
744
|
+
if (arguments.length == 0) {
|
|
745
|
+
poolAlias = defaultPoolAlias;
|
|
746
|
+
} else if (typeof a1 === 'string') {
|
|
747
|
+
poolAlias = a1;
|
|
748
|
+
} else {
|
|
749
|
+
options = a1;
|
|
750
|
+
errors.assertParamValue(nodbUtil.isObject(options), 1);
|
|
751
|
+
poolAlias = options.poolAlias;
|
|
752
|
+
}
|
|
753
|
+
if (poolAlias) {
|
|
754
|
+
const pool = poolCache[poolAlias];
|
|
755
|
+
errors.assert(pool, errors.ERR_POOL_WITH_ALIAS_NOT_FOUND, poolAlias);
|
|
756
|
+
return await pool.getConnection(options);
|
|
757
|
+
}
|
|
758
|
+
|
|
759
|
+
// this will invoke hookFn() written in application side.
|
|
760
|
+
// for token based auth it will generate access token and save it in options.
|
|
761
|
+
for (const hookFn of registeredHooks) {
|
|
762
|
+
// eslint-disable-next-line no-useless-catch
|
|
763
|
+
try {
|
|
764
|
+
await hookFn(options);
|
|
765
|
+
} catch (error) {
|
|
766
|
+
errors.throwWrapErr(error, errors.ERR_CALLOUT_FN);
|
|
767
|
+
}
|
|
768
|
+
}
|
|
769
|
+
|
|
770
|
+
// create a standalone connection
|
|
771
|
+
options = await _verifyOptions(options, false);
|
|
772
|
+
settings.addToOptions(options,
|
|
773
|
+
"connectionClass",
|
|
774
|
+
"driverName",
|
|
775
|
+
"edition",
|
|
776
|
+
"events",
|
|
777
|
+
"externalAuth",
|
|
778
|
+
"machine",
|
|
779
|
+
"osUser",
|
|
780
|
+
"program",
|
|
781
|
+
"stmtCacheSize",
|
|
782
|
+
"terminal");
|
|
783
|
+
if (_initOracleClientArgs === undefined && !settings.thinDriverInitialized) {
|
|
784
|
+
_initializeThinDriver();
|
|
785
|
+
}
|
|
786
|
+
const conn = new Connection();
|
|
787
|
+
conn._impl = new impl.ConnectionImpl();
|
|
788
|
+
|
|
789
|
+
conn._impl._connectString = options.connectString;
|
|
790
|
+
conn._impl._user = options.user;
|
|
791
|
+
await conn._impl.connect(options);
|
|
792
|
+
if (_initOracleClientArgs === undefined) {
|
|
793
|
+
settings.thinDriverInitialized = true;
|
|
794
|
+
}
|
|
795
|
+
return conn;
|
|
796
|
+
}
|
|
797
|
+
|
|
798
|
+
//-----------------------------------------------------------------------------
|
|
799
|
+
// getPool()
|
|
800
|
+
//
|
|
801
|
+
// Returns a pool for the given alias.
|
|
802
|
+
//-----------------------------------------------------------------------------
|
|
803
|
+
function getPool(poolAlias) {
|
|
804
|
+
|
|
805
|
+
errors.assertArgCount(arguments, 0, 1);
|
|
806
|
+
|
|
807
|
+
if (poolAlias) {
|
|
808
|
+
errors.assertParamValue(typeof poolAlias === 'string' ||
|
|
809
|
+
typeof poolAlias === 'number', 1);
|
|
810
|
+
}
|
|
811
|
+
|
|
812
|
+
poolAlias = poolAlias || defaultPoolAlias;
|
|
813
|
+
|
|
814
|
+
const pool = poolCache[poolAlias];
|
|
815
|
+
|
|
816
|
+
if (!pool) {
|
|
817
|
+
errors.throwErr(errors.ERR_POOL_WITH_ALIAS_NOT_FOUND, poolAlias);
|
|
818
|
+
}
|
|
819
|
+
|
|
820
|
+
return pool;
|
|
821
|
+
}
|
|
822
|
+
|
|
823
|
+
//-----------------------------------------------------------------------------
|
|
824
|
+
// initOracleClient()
|
|
825
|
+
//
|
|
826
|
+
// Initializes the Oracle Client.
|
|
827
|
+
//-----------------------------------------------------------------------------
|
|
828
|
+
function initOracleClient(arg1) {
|
|
829
|
+
let options = {};
|
|
830
|
+
errors.assertArgCount(arguments, 0, 1);
|
|
831
|
+
if (arg1 !== undefined) {
|
|
832
|
+
errors.assertParamValue(nodbUtil.isObject(arg1), 1);
|
|
833
|
+
options = {...arg1};
|
|
834
|
+
errors.assertParamPropString(options, 1, "libDir");
|
|
835
|
+
errors.assertParamPropString(options, 1, "configDir");
|
|
836
|
+
errors.assertParamPropString(options, 1, "errorUrl");
|
|
837
|
+
errors.assertParamPropString(options, 1, "driverName");
|
|
838
|
+
errors.assertParamPropString(options, 1, "binaryDir");
|
|
839
|
+
}
|
|
840
|
+
if (settings.thinDriverInitialized) {
|
|
841
|
+
errors.throwErr(errors.ERR_THIN_CONNECTION_ALREADY_CREATED);
|
|
842
|
+
}
|
|
843
|
+
if (_initOracleClientArgs === undefined) {
|
|
844
|
+
const oracledbCLib = _initCLib(options);
|
|
845
|
+
if (options.driverName === undefined)
|
|
846
|
+
options.driverName = constants.DEFAULT_DRIVER_NAME + " thk";
|
|
847
|
+
if (options.errorUrl === undefined)
|
|
848
|
+
options.errorUrl = constants.DEFAULT_ERROR_URL;
|
|
849
|
+
try {
|
|
850
|
+
oracledbCLib.initOracleClient(options, impl, settings);
|
|
851
|
+
} catch (err) {
|
|
852
|
+
const newErr = errors.transformErr(err);
|
|
853
|
+
if (newErr.code === "DPI-1047") {
|
|
854
|
+
newErr.message += "\n" + nodbUtil.getInstallHelp();
|
|
855
|
+
}
|
|
856
|
+
throw newErr;
|
|
857
|
+
}
|
|
858
|
+
_initOracleClientArgs = arg1 || {};
|
|
859
|
+
} else if (!util.isDeepStrictEqual(_initOracleClientArgs, options)) {
|
|
860
|
+
errors.throwErr(errors.ERR_INIT_ORACLE_CLIENT_ARGS);
|
|
861
|
+
}
|
|
862
|
+
|
|
863
|
+
// driver mode initialization
|
|
864
|
+
// _initOracleClientArgs is populated and thin connection not created
|
|
865
|
+
settings.thin = false;
|
|
866
|
+
}
|
|
867
|
+
|
|
868
|
+
|
|
869
|
+
//-----------------------------------------------------------------------------
|
|
870
|
+
// shutdown()
|
|
871
|
+
//
|
|
872
|
+
// Shuts down the database.
|
|
873
|
+
//-----------------------------------------------------------------------------
|
|
874
|
+
async function shutdown(a1, a2) {
|
|
875
|
+
let connAttr = {};
|
|
876
|
+
let shutdownMode = constants.SHUTDOWN_MODE_DEFAULT;
|
|
877
|
+
|
|
878
|
+
// verify the number and types of arguments
|
|
879
|
+
errors.assertArgCount(arguments, 0, 2);
|
|
880
|
+
if (arguments.length == 2) {
|
|
881
|
+
errors.assertParamValue(typeof a1 === 'object', 1);
|
|
882
|
+
errors.assertParamValue(typeof a2 === 'number', 2);
|
|
883
|
+
connAttr = a1;
|
|
884
|
+
shutdownMode = a2;
|
|
885
|
+
} else if (arguments.length == 1) {
|
|
886
|
+
errors.assertParamValue(typeof a1 === 'object', 1);
|
|
887
|
+
connAttr = a1;
|
|
888
|
+
}
|
|
889
|
+
|
|
890
|
+
// only look for the keys that are used for shutting down the database
|
|
891
|
+
// use SYSOPER privilege
|
|
892
|
+
const dbConfig = {
|
|
893
|
+
user: connAttr.user,
|
|
894
|
+
password: connAttr.password,
|
|
895
|
+
connectString: connAttr.connectString,
|
|
896
|
+
connectionString: connAttr.connectionString,
|
|
897
|
+
externalAuth: connAttr.externalAuth,
|
|
898
|
+
privilege: constants.SYSOPER
|
|
899
|
+
};
|
|
900
|
+
|
|
901
|
+
const conn = await this.getConnection(dbConfig);
|
|
902
|
+
await conn.shutdown(shutdownMode);
|
|
903
|
+
if (shutdownMode != this.SHUTDOWN_MODE_ABORT) {
|
|
904
|
+
await conn.execute("ALTER DATABASE CLOSE");
|
|
905
|
+
await conn.execute("ALTER DATABASE DISMOUNT");
|
|
906
|
+
await conn.shutdown(this.SHUTDOWN_MODE_FINAL);
|
|
907
|
+
}
|
|
908
|
+
await conn.close();
|
|
909
|
+
}
|
|
910
|
+
|
|
911
|
+
async function _setConfigParameters(obj, credential, configProvider) {
|
|
912
|
+
const configObject = {};
|
|
913
|
+
const pmSection = 'njs';
|
|
914
|
+
const params = obj[pmSection];
|
|
915
|
+
for (const key in params) {
|
|
916
|
+
const val = params[key];
|
|
917
|
+
configObject[key] = val;
|
|
918
|
+
}
|
|
919
|
+
configObject.connectString = obj.connect_descriptor;
|
|
920
|
+
configObject.configTTL = obj.config_time_to_live;
|
|
921
|
+
if (!configObject.connectString)
|
|
922
|
+
errors.throwErr(errors.ERR_CONFIG_PROVIDER_FAILED_TO_RETRIEVE_CONFIG, 'connect_descriptor must be set');
|
|
923
|
+
|
|
924
|
+
configObject.user = obj.user;
|
|
925
|
+
if (obj.password) {
|
|
926
|
+
configObject.password = await _retrieveParamValueFromVault(obj['password'], credential, configProvider);
|
|
927
|
+
}
|
|
928
|
+
if (obj.wallet_location) {
|
|
929
|
+
// retrieve wallet_location
|
|
930
|
+
configObject.walletContent = await _retrieveParamValueFromVault(obj['wallet_location'], credential, configProvider);
|
|
931
|
+
//only Pem file supported
|
|
932
|
+
if (!nodbUtil.isPemFile(configObject.walletContent))
|
|
933
|
+
errors.throwErr(errors.ERR_WALLET_TYPE_NOT_SUPPORTED);
|
|
934
|
+
}
|
|
935
|
+
return configObject;
|
|
936
|
+
}
|
|
937
|
+
|
|
938
|
+
async function _retrieveParamValueFromVault(paramObj, credential, configProvider) {
|
|
939
|
+
const paramMap = new Map();
|
|
940
|
+
const auth = paramObj.authentication;
|
|
941
|
+
if (auth) {
|
|
942
|
+
for (const key in auth) {
|
|
943
|
+
if (key == 'method')
|
|
944
|
+
paramMap.set('authentication', auth[key]);
|
|
945
|
+
const val = auth[key];
|
|
946
|
+
paramMap.set(key.toLowerCase(), val);
|
|
947
|
+
}
|
|
948
|
+
}
|
|
949
|
+
const args = {};
|
|
950
|
+
if (paramObj.type == "base64") {
|
|
951
|
+
console.log("WARNING: Base64 Encoding in a JSON Password should only be used in development environments");
|
|
952
|
+
return Buffer.from(paramObj.value, "base64").toString("utf-8");
|
|
953
|
+
} else if (paramObj.type == "text") {
|
|
954
|
+
if (configProvider == 'azurevault' || configProvider == 'ocivault') {
|
|
955
|
+
console.log("WARNING: Plain Text in a JSON Password should only be used in development environments");
|
|
956
|
+
return paramObj.value;
|
|
957
|
+
} else
|
|
958
|
+
errors.throwErr(errors.ERR_CONFIG_PROVIDER_PARAM_TYPE, 'password type text is only allowed in ocivault and azurevault');
|
|
959
|
+
} else if (paramObj.type == "azurevault") {
|
|
960
|
+
paramMap.set('azuresecreturl', paramObj.value);
|
|
961
|
+
if (!(configProvider == 'azure' || configProvider == 'azurevault'))
|
|
962
|
+
credential = null;
|
|
963
|
+
const hookFn = registeredConfigProviderHooks['azurevault'];
|
|
964
|
+
if (hookFn == undefined)
|
|
965
|
+
errors.throwErr(errors.ERR_REGISTER_HOOKFN_CONFIGPROVIDER, 'azurevault');
|
|
966
|
+
args.credential = credential;
|
|
967
|
+
args.paramMap = paramMap;
|
|
968
|
+
const vaultReturn = await hookFn(args);
|
|
969
|
+
const paramValue = vaultReturn[0];
|
|
970
|
+
return paramValue;
|
|
971
|
+
|
|
972
|
+
} else if (paramObj.type == "ocivault") {
|
|
973
|
+
|
|
974
|
+
paramMap.set('ocidvault', paramObj.value);
|
|
975
|
+
if (!(configProvider == 'ociobject' || configProvider == 'ocivault'))
|
|
976
|
+
credential = null;
|
|
977
|
+
const hookFn = registeredConfigProviderHooks['ocivault'];
|
|
978
|
+
if (hookFn == undefined)
|
|
979
|
+
errors.throwErr(errors.ERR_REGISTER_HOOKFN_CONFIGPROVIDER, 'ocivault');
|
|
980
|
+
const args = {};
|
|
981
|
+
args.credential = credential;
|
|
982
|
+
args.paramMap = paramMap;
|
|
983
|
+
const vaultReturn = await hookFn(args);
|
|
984
|
+
const paramValue = vaultReturn[0];
|
|
985
|
+
return paramValue;
|
|
986
|
+
} else {
|
|
987
|
+
errors.throwErr(errors.ERR_CONFIG_PROVIDER_PARAM_TYPE, 'password/wallet_location');
|
|
988
|
+
}
|
|
989
|
+
}
|
|
990
|
+
//-----------------------------------------------------------------------------
|
|
991
|
+
// _checkConfigProvider()
|
|
992
|
+
//
|
|
993
|
+
// Look for the config provider in the connection string and retrieves
|
|
994
|
+
// object stored in the config Provider.
|
|
995
|
+
// Returns object based on precedence between input object and the one retrieved
|
|
996
|
+
// from Config Provider.
|
|
997
|
+
//-----------------------------------------------------------------------------
|
|
998
|
+
async function _checkConfigProvider(options) {
|
|
999
|
+
// Time for Cache entries to be deleted in milliseconds
|
|
1000
|
+
let cacheEntriesDuration = settings.configProviderCacheTimeout * 1000;
|
|
1001
|
+
let secondOpts, cachedConfigEntry;
|
|
1002
|
+
const url = options.connectString || options.connectionString;
|
|
1003
|
+
if (!url)
|
|
1004
|
+
return options;
|
|
1005
|
+
|
|
1006
|
+
if (configProviderCache && (cachedConfigEntry = configProviderCache.get(url))) {
|
|
1007
|
+
const config = cachedConfigEntry.cacheOpts;
|
|
1008
|
+
if (config.configTTL)
|
|
1009
|
+
cacheEntriesDuration = config.configTTL * 1000;
|
|
1010
|
+
|
|
1011
|
+
if ((Date.now() - cachedConfigEntry.timeAdded) < cacheEntriesDuration) {
|
|
1012
|
+
secondOpts = { ...config};
|
|
1013
|
+
|
|
1014
|
+
//deobfuscate password
|
|
1015
|
+
if (secondOpts.password)
|
|
1016
|
+
secondOpts.password = protocolUtil.getDeobfuscatedValue(secondOpts.password.value, secondOpts.password.obfuscatedValue);
|
|
1017
|
+
|
|
1018
|
+
//deobfuscate walletContent
|
|
1019
|
+
if (secondOpts.walletContent)
|
|
1020
|
+
secondOpts.walletContent = protocolUtil.getDeobfuscatedValue(secondOpts.walletContent.value, secondOpts.walletContent.obfuscatedValue);
|
|
1021
|
+
}
|
|
1022
|
+
}
|
|
1023
|
+
if (!secondOpts) {
|
|
1024
|
+
let parsedUrl = url;
|
|
1025
|
+
let urlExtendedPart;
|
|
1026
|
+
const baseRegex = new RegExp("^config-(?<provider>[A-Za-z0-9]+)(://)(?<provider_arg>[^?]+)");
|
|
1027
|
+
if (url.indexOf('?') != -1) {
|
|
1028
|
+
parsedUrl = url.substring(0, url.indexOf('?'));
|
|
1029
|
+
urlExtendedPart = url.substring(url.indexOf('?'), url.length); //extended part
|
|
1030
|
+
}
|
|
1031
|
+
const match = parsedUrl.match(baseRegex);
|
|
1032
|
+
if (match) {
|
|
1033
|
+
const provider = match.groups.provider;
|
|
1034
|
+
const provider_arg = match.groups.provider_arg;
|
|
1035
|
+
const hookFn = registeredConfigProviderHooks[provider];
|
|
1036
|
+
if (hookFn == undefined)
|
|
1037
|
+
errors.throwErr(errors.ERR_REGISTER_HOOKFN_CONFIGPROVIDER, provider);
|
|
1038
|
+
const args = {};
|
|
1039
|
+
args.provider_arg = provider_arg;
|
|
1040
|
+
args.urlExtendedPart = urlExtendedPart;
|
|
1041
|
+
|
|
1042
|
+
try {
|
|
1043
|
+
// hookFn returns an array with first element as the config stored in the configProvider
|
|
1044
|
+
// second being the credential to the configProvider
|
|
1045
|
+
const configProviderReturn = await hookFn(args);
|
|
1046
|
+
secondOpts = configProviderReturn[0];
|
|
1047
|
+
if (!configProviderCache) {
|
|
1048
|
+
configProviderCache = new Map();
|
|
1049
|
+
}
|
|
1050
|
+
if (!secondOpts) {
|
|
1051
|
+
errors.throwErr(errors.ERR_CONFIG_PROVIDER_FAILED_TO_RETRIEVE_CONFIG, 'no configuration found in ' + provider);
|
|
1052
|
+
}
|
|
1053
|
+
if (provider != 'azure')
|
|
1054
|
+
secondOpts = await _setConfigParameters(secondOpts, configProviderReturn[1], provider);
|
|
1055
|
+
|
|
1056
|
+
// obfuscate password & walletcontent and store config in the cache
|
|
1057
|
+
const cacheOpts = { ...secondOpts};
|
|
1058
|
+
if (secondOpts.password)
|
|
1059
|
+
cacheOpts.password = protocolUtil.setObfuscatedValue(secondOpts.password);
|
|
1060
|
+
if (secondOpts.walletContent)
|
|
1061
|
+
cacheOpts.walletContent = protocolUtil.setObfuscatedValue(secondOpts.walletContent);
|
|
1062
|
+
configProviderCache.set(url, { cacheOpts, timeAdded: Date.now()});
|
|
1063
|
+
} catch (err) {
|
|
1064
|
+
errors.throwErr(errors.ERR_CONFIG_PROVIDER_FAILED_TO_RETRIEVE_CONFIG, err.message);
|
|
1065
|
+
}
|
|
1066
|
+
}
|
|
1067
|
+
}
|
|
1068
|
+
if (secondOpts) {
|
|
1069
|
+
options = modifyOptionsPrecedence(secondOpts, options);
|
|
1070
|
+
}
|
|
1071
|
+
return options;
|
|
1072
|
+
}
|
|
1073
|
+
/**
|
|
1074
|
+
* Sets precedence for different parameters in cloudConfig/userConfig
|
|
1075
|
+
* @param {cloudConfig} object - object retreived from cloud
|
|
1076
|
+
* @param {userConfig} object - user input Object
|
|
1077
|
+
*/
|
|
1078
|
+
function modifyOptionsPrecedence(cloudConfig, userConfig) {
|
|
1079
|
+
// create a copy of userConfig object
|
|
1080
|
+
userConfig = { ...userConfig };
|
|
1081
|
+
if (!userConfig.user)
|
|
1082
|
+
userConfig.user = cloudConfig.user;
|
|
1083
|
+
if (!userConfig.password)
|
|
1084
|
+
userConfig.password = cloudConfig.password;
|
|
1085
|
+
if (cloudConfig.connectString) {
|
|
1086
|
+
userConfig.connectString = cloudConfig.connectString;
|
|
1087
|
+
userConfig.connectionString = undefined;
|
|
1088
|
+
}
|
|
1089
|
+
if (cloudConfig.walletContent)
|
|
1090
|
+
userConfig.walletContent = cloudConfig.walletContent;
|
|
1091
|
+
if (cloudConfig.poolMin)
|
|
1092
|
+
userConfig.poolMin = cloudConfig.poolMin;
|
|
1093
|
+
if (cloudConfig.poolMax)
|
|
1094
|
+
userConfig.poolMax = cloudConfig.poolMax;
|
|
1095
|
+
if (cloudConfig.poolIncrement)
|
|
1096
|
+
userConfig.poolIncrement = cloudConfig.poolIncrement;
|
|
1097
|
+
if (cloudConfig.poolTimeout)
|
|
1098
|
+
userConfig.poolTimeout = cloudConfig.poolTimeout;
|
|
1099
|
+
if (cloudConfig.poolPingInterval)
|
|
1100
|
+
userConfig.poolPingInterval = cloudConfig.poolPingInterval;
|
|
1101
|
+
if (cloudConfig.poolPingTimeout)
|
|
1102
|
+
userConfig.poolPingTimeout = cloudConfig.poolPingTimeout;
|
|
1103
|
+
if (cloudConfig.stmtCacheSize)
|
|
1104
|
+
userConfig.stmtCacheSize = cloudConfig.stmtCacheSize;
|
|
1105
|
+
if (cloudConfig.prefetchRows)
|
|
1106
|
+
userConfig.prefetchRows = cloudConfig.prefetchRows;
|
|
1107
|
+
if (cloudConfig.lobPrefetch)
|
|
1108
|
+
userConfig.lobPrefetch = cloudConfig.lobPrefetch;
|
|
1109
|
+
|
|
1110
|
+
return userConfig;
|
|
1111
|
+
|
|
1112
|
+
}
|
|
1113
|
+
//-----------------------------------------------------------------------------
|
|
1114
|
+
// startup()
|
|
1115
|
+
//
|
|
1116
|
+
// Starts up the database.
|
|
1117
|
+
//-----------------------------------------------------------------------------
|
|
1118
|
+
async function startup(a1, a2) {
|
|
1119
|
+
let connAttr = {};
|
|
1120
|
+
let startupAttr = {};
|
|
1121
|
+
|
|
1122
|
+
// verify the number and types of arguments
|
|
1123
|
+
errors.assertArgCount(arguments, 0, 2);
|
|
1124
|
+
if (arguments.length == 2) {
|
|
1125
|
+
errors.assertParamValue(typeof a1 === 'object', 1);
|
|
1126
|
+
errors.assertParamValue(typeof a2 === 'object', 2);
|
|
1127
|
+
connAttr = a1;
|
|
1128
|
+
startupAttr = a2;
|
|
1129
|
+
} else if (arguments.length == 1) {
|
|
1130
|
+
errors.assertParamValue(typeof a1 === 'object', 1);
|
|
1131
|
+
connAttr = a1;
|
|
1132
|
+
}
|
|
1133
|
+
|
|
1134
|
+
// only look for the keys that are used for starting up the database
|
|
1135
|
+
// use SYSOPER and SYSPRELIM privileges
|
|
1136
|
+
const dbConfig = {
|
|
1137
|
+
user: connAttr.user,
|
|
1138
|
+
password: connAttr.password,
|
|
1139
|
+
connectString: connAttr.connectString,
|
|
1140
|
+
connectionString: connAttr.connectionString,
|
|
1141
|
+
externalAuth: connAttr.externalAuth,
|
|
1142
|
+
privilege: this.SYSOPER | this.SYSPRELIM
|
|
1143
|
+
};
|
|
1144
|
+
|
|
1145
|
+
let conn = await this.getConnection(dbConfig);
|
|
1146
|
+
await conn.startup(startupAttr);
|
|
1147
|
+
await conn.close();
|
|
1148
|
+
|
|
1149
|
+
dbConfig.privilege = this.SYSOPER;
|
|
1150
|
+
conn = await this.getConnection(dbConfig);
|
|
1151
|
+
await conn.execute("ALTER DATABASE MOUNT");
|
|
1152
|
+
await conn.execute("ALTER DATABASE OPEN");
|
|
1153
|
+
await conn.close();
|
|
1154
|
+
}
|
|
1155
|
+
|
|
1156
|
+
//-----------------------------------------------------------------------------
|
|
1157
|
+
// registerProcessConfigurationHook()
|
|
1158
|
+
//
|
|
1159
|
+
// Registers extension modules and registered modules will be called and
|
|
1160
|
+
// executed during pool and standalone connection creation.
|
|
1161
|
+
//-----------------------------------------------------------------------------
|
|
1162
|
+
function registerProcessConfigurationHook(fn) {
|
|
1163
|
+
errors.assertArgCount(arguments, 1, 1);
|
|
1164
|
+
errors.assertParamValue(typeof fn === 'function', 1);
|
|
1165
|
+
registeredHooks.push(fn);
|
|
1166
|
+
}
|
|
1167
|
+
|
|
1168
|
+
//-----------------------------------------------------------------------------
|
|
1169
|
+
// registerConfigurationProviderHook()
|
|
1170
|
+
//
|
|
1171
|
+
// Registers Configuration Provider plugin modules and registered modules will
|
|
1172
|
+
// be called and executed during pool and standalone connection creation.
|
|
1173
|
+
//-----------------------------------------------------------------------------
|
|
1174
|
+
function registerConfigurationProviderHook(configProvider, fn) {
|
|
1175
|
+
errors.assertArgCount(arguments, 2, 2);
|
|
1176
|
+
errors.assertParamValue(typeof fn === 'function', 1);
|
|
1177
|
+
errors.assertParamValue(typeof configProvider === 'string', 1);
|
|
1178
|
+
registeredConfigProviderHooks[configProvider] = fn;
|
|
1179
|
+
}
|
|
1180
|
+
|
|
1181
|
+
// module exports
|
|
1182
|
+
module.exports = {
|
|
1183
|
+
|
|
1184
|
+
// classes
|
|
1185
|
+
AqDeqOptions,
|
|
1186
|
+
AqEnqOptions,
|
|
1187
|
+
AqMessage,
|
|
1188
|
+
AqQueue,
|
|
1189
|
+
BaseDbObject,
|
|
1190
|
+
Connection,
|
|
1191
|
+
JsonId: types.JsonId,
|
|
1192
|
+
Lob,
|
|
1193
|
+
Pool,
|
|
1194
|
+
PoolStatistics,
|
|
1195
|
+
ResultSet,
|
|
1196
|
+
SodaDatabase,
|
|
1197
|
+
SodaCollection,
|
|
1198
|
+
SodaDocCursor,
|
|
1199
|
+
SodaDocument,
|
|
1200
|
+
SodaOperation,
|
|
1201
|
+
SparseVector: types.SparseVector,
|
|
1202
|
+
IntervalYM: types.IntervalYM,
|
|
1203
|
+
IntervalDS: types.IntervalDS,
|
|
1204
|
+
|
|
1205
|
+
// top-level functions
|
|
1206
|
+
getConnection: nodbUtil.callbackify(nodbUtil.wrapFn(getConnection)),
|
|
1207
|
+
createPool: nodbUtil.callbackify(nodbUtil.wrapFn(createPool)),
|
|
1208
|
+
getNetworkServiceNames: nodbUtil.callbackify(nodbUtil.wrapFn(getNetworkServiceNames)),
|
|
1209
|
+
getPool,
|
|
1210
|
+
initOracleClient,
|
|
1211
|
+
registerProcessConfigurationHook,
|
|
1212
|
+
registerConfigurationProviderHook,
|
|
1213
|
+
shutdown: nodbUtil.callbackify(nodbUtil.wrapFn(shutdown)),
|
|
1214
|
+
startup: nodbUtil.callbackify(nodbUtil.wrapFn(startup)),
|
|
1215
|
+
|
|
1216
|
+
// CQN operation codes
|
|
1217
|
+
CQN_OPCODE_ALL_OPS: constants.CQN_OPCODE_ALL_OPS,
|
|
1218
|
+
CQN_OPCODE_ALL_ROWS: constants.CQN_OPCODE_ALL_ROWS,
|
|
1219
|
+
CQN_OPCODE_ALTER: constants.CQN_OPCODE_ALTER,
|
|
1220
|
+
CQN_OPCODE_DELETE: constants.CQN_OPCODE_DELETE,
|
|
1221
|
+
CQN_OPCODE_DROP: constants.CQN_OPCODE_DROP,
|
|
1222
|
+
CQN_OPCODE_INSERT: constants.CQN_OPCODE_INSERT,
|
|
1223
|
+
CQN_OPCODE_UPDATE: constants.CQN_OPCODE_UPDATE,
|
|
1224
|
+
|
|
1225
|
+
// database types
|
|
1226
|
+
DB_TYPE_BFILE: types.DB_TYPE_BFILE,
|
|
1227
|
+
DB_TYPE_BINARY_DOUBLE: types.DB_TYPE_BINARY_DOUBLE,
|
|
1228
|
+
DB_TYPE_BINARY_FLOAT: types.DB_TYPE_BINARY_FLOAT,
|
|
1229
|
+
DB_TYPE_BINARY_INTEGER: types.DB_TYPE_BINARY_INTEGER,
|
|
1230
|
+
DB_TYPE_BLOB: types.DB_TYPE_BLOB,
|
|
1231
|
+
DB_TYPE_BOOLEAN: types.DB_TYPE_BOOLEAN,
|
|
1232
|
+
DB_TYPE_CHAR: types.DB_TYPE_CHAR,
|
|
1233
|
+
DB_TYPE_CLOB: types.DB_TYPE_CLOB,
|
|
1234
|
+
DB_TYPE_CURSOR: types.DB_TYPE_CURSOR,
|
|
1235
|
+
DB_TYPE_DATE: types.DB_TYPE_DATE,
|
|
1236
|
+
DB_TYPE_INTERVAL_DS: types.DB_TYPE_INTERVAL_DS,
|
|
1237
|
+
DB_TYPE_INTERVAL_YM: types.DB_TYPE_INTERVAL_YM,
|
|
1238
|
+
DB_TYPE_JSON: types.DB_TYPE_JSON,
|
|
1239
|
+
DB_TYPE_LONG: types.DB_TYPE_LONG,
|
|
1240
|
+
DB_TYPE_LONG_NVARCHAR: types.DB_TYPE_LONG_NVARCHAR,
|
|
1241
|
+
DB_TYPE_LONG_RAW: types.DB_TYPE_LONG_RAW,
|
|
1242
|
+
DB_TYPE_NCHAR: types.DB_TYPE_NCHAR,
|
|
1243
|
+
DB_TYPE_NCLOB: types.DB_TYPE_NCLOB,
|
|
1244
|
+
DB_TYPE_NUMBER: types.DB_TYPE_NUMBER,
|
|
1245
|
+
DB_TYPE_NVARCHAR: types.DB_TYPE_NVARCHAR,
|
|
1246
|
+
DB_TYPE_OBJECT: types.DB_TYPE_OBJECT,
|
|
1247
|
+
DB_TYPE_RAW: types.DB_TYPE_RAW,
|
|
1248
|
+
DB_TYPE_ROWID: types.DB_TYPE_ROWID,
|
|
1249
|
+
DB_TYPE_TIMESTAMP: types.DB_TYPE_TIMESTAMP,
|
|
1250
|
+
DB_TYPE_TIMESTAMP_LTZ: types.DB_TYPE_TIMESTAMP_LTZ,
|
|
1251
|
+
DB_TYPE_TIMESTAMP_TZ: types.DB_TYPE_TIMESTAMP_TZ,
|
|
1252
|
+
DB_TYPE_VARCHAR: types.DB_TYPE_VARCHAR,
|
|
1253
|
+
DB_TYPE_XMLTYPE: types.DB_TYPE_XMLTYPE,
|
|
1254
|
+
DB_TYPE_VECTOR: types.DB_TYPE_VECTOR,
|
|
1255
|
+
|
|
1256
|
+
// fetchInfo type defaulting
|
|
1257
|
+
DEFAULT: constants.DEFAULT,
|
|
1258
|
+
|
|
1259
|
+
// statement types
|
|
1260
|
+
STMT_TYPE_UNKNOWN: constants.STMT_TYPE_UNKNOWN,
|
|
1261
|
+
STMT_TYPE_SELECT: constants.STMT_TYPE_SELECT,
|
|
1262
|
+
STMT_TYPE_UPDATE: constants.STMT_TYPE_UPDATE,
|
|
1263
|
+
STMT_TYPE_DELETE: constants.STMT_TYPE_DELETE,
|
|
1264
|
+
STMT_TYPE_INSERT: constants.STMT_TYPE_INSERT,
|
|
1265
|
+
STMT_TYPE_CREATE: constants.STMT_TYPE_CREATE,
|
|
1266
|
+
STMT_TYPE_DROP: constants.STMT_TYPE_DROP,
|
|
1267
|
+
STMT_TYPE_ALTER: constants.STMT_TYPE_ALTER,
|
|
1268
|
+
STMT_TYPE_BEGIN: constants.STMT_TYPE_BEGIN,
|
|
1269
|
+
STMT_TYPE_DECLARE: constants.STMT_TYPE_DECLARE,
|
|
1270
|
+
STMT_TYPE_CALL: constants.STMT_TYPE_CALL,
|
|
1271
|
+
STMT_TYPE_EXPLAIN_PLAN: constants.STMT_TYPE_EXPLAIN_PLAN,
|
|
1272
|
+
STMT_TYPE_MERGE: constants.STMT_TYPE_MERGE,
|
|
1273
|
+
STMT_TYPE_ROLLBACK: constants.STMT_TYPE_ROLLBACK,
|
|
1274
|
+
STMT_TYPE_COMMIT: constants.STMT_TYPE_COMMIT,
|
|
1275
|
+
|
|
1276
|
+
// shutdown modes
|
|
1277
|
+
SHUTDOWN_MODE_DEFAULT: constants.SHUTDOWN_MODE_DEFAULT,
|
|
1278
|
+
SHUTDOWN_MODE_TRANSACTIONAL: constants.SHUTDOWN_MODE_TRANSACTIONAL,
|
|
1279
|
+
SHUTDOWN_MODE_TRANSACTIONAL_LOCAL:
|
|
1280
|
+
constants.SHUTDOWN_MODE_TRANSACTIONAL_LOCAL,
|
|
1281
|
+
SHUTDOWN_MODE_IMMEDIATE: constants.SHUTDOWN_MODE_IMMEDIATE,
|
|
1282
|
+
SHUTDOWN_MODE_ABORT: constants.SHUTDOWN_MODE_ABORT,
|
|
1283
|
+
SHUTDOWN_MODE_FINAL: constants.SHUTDOWN_MODE_FINAL,
|
|
1284
|
+
|
|
1285
|
+
// startup modes
|
|
1286
|
+
STARTUP_MODE_DEFAULT: constants.STARTUP_MODE_DEFAULT,
|
|
1287
|
+
STARTUP_MODE_FORCE: constants.STARTUP_MODE_FORCE,
|
|
1288
|
+
STARTUP_MODE_RESTRICT: constants.STARTUP_MODE_RESTRICT,
|
|
1289
|
+
|
|
1290
|
+
// subscription event types
|
|
1291
|
+
SUBSCR_EVENT_TYPE_SHUTDOWN: constants.SUBSCR_EVENT_TYPE_SHUTDOWN,
|
|
1292
|
+
SUBSCR_EVENT_TYPE_SHUTDOWN_ANY: constants.SUBSCR_EVENT_TYPE_SHUTDOWN_ANY,
|
|
1293
|
+
SUBSCR_EVENT_TYPE_STARTUP: constants.SUBSCR_EVENT_TYPE_STARTUP,
|
|
1294
|
+
SUBSCR_EVENT_TYPE_DEREG: constants.SUBSCR_EVENT_TYPE_DEREG,
|
|
1295
|
+
SUBSCR_EVENT_TYPE_OBJ_CHANGE: constants.SUBSCR_EVENT_TYPE_OBJ_CHANGE,
|
|
1296
|
+
SUBSCR_EVENT_TYPE_QUERY_CHANGE: constants.SUBSCR_EVENT_TYPE_QUERY_CHANGE,
|
|
1297
|
+
SUBSCR_EVENT_TYPE_AQ: constants.SUBSCR_EVENT_TYPE_AQ,
|
|
1298
|
+
|
|
1299
|
+
// subscription grouping classes
|
|
1300
|
+
SUBSCR_GROUPING_CLASS_TIME: constants.SUBSCR_GROUPING_CLASS_TIME,
|
|
1301
|
+
|
|
1302
|
+
// subscription grouping types
|
|
1303
|
+
SUBSCR_GROUPING_TYPE_SUMMARY: constants.SUBSCR_GROUPING_TYPE_SUMMARY,
|
|
1304
|
+
SUBSCR_GROUPING_TYPE_LAST: constants.SUBSCR_GROUPING_TYPE_LAST,
|
|
1305
|
+
|
|
1306
|
+
// subscription namespaces
|
|
1307
|
+
SUBSCR_NAMESPACE_AQ: constants.SUBSCR_NAMESPACE_AQ,
|
|
1308
|
+
SUBSCR_NAMESPACE_DBCHANGE: constants.SUBSCR_NAMESPACE_DBCHANGE,
|
|
1309
|
+
|
|
1310
|
+
// subscription quality of service flags
|
|
1311
|
+
SUBSCR_QOS_BEST_EFFORT: constants.SUBSCR_QOS_BEST_EFFORT,
|
|
1312
|
+
SUBSCR_QOS_DEREG_NFY: constants.SUBSCR_QOS_DEREG_NFY,
|
|
1313
|
+
SUBSCR_QOS_QUERY: constants.SUBSCR_QOS_QUERY,
|
|
1314
|
+
SUBSCR_QOS_RELIABLE: constants.SUBSCR_QOS_RELIABLE,
|
|
1315
|
+
SUBSCR_QOS_ROWIDS: constants.SUBSCR_QOS_ROWIDS,
|
|
1316
|
+
|
|
1317
|
+
// privileges
|
|
1318
|
+
SYSASM: constants.SYSASM,
|
|
1319
|
+
SYSBACKUP: constants.SYSBACKUP,
|
|
1320
|
+
SYSDBA: constants.SYSDBA,
|
|
1321
|
+
SYSDG: constants.SYSDG,
|
|
1322
|
+
SYSKM: constants.SYSKM,
|
|
1323
|
+
SYSOPER: constants.SYSOPER,
|
|
1324
|
+
SYSPRELIM: constants.SYSPRELIM,
|
|
1325
|
+
SYSRAC: constants.SYSRAC,
|
|
1326
|
+
|
|
1327
|
+
// bind directions
|
|
1328
|
+
BIND_IN: constants.BIND_IN,
|
|
1329
|
+
BIND_INOUT: constants.BIND_INOUT,
|
|
1330
|
+
BIND_OUT: constants.BIND_OUT,
|
|
1331
|
+
|
|
1332
|
+
// outFormat values
|
|
1333
|
+
OUT_FORMAT_ARRAY: constants.OUT_FORMAT_ARRAY,
|
|
1334
|
+
OUT_FORMAT_OBJECT: constants.OUT_FORMAT_OBJECT,
|
|
1335
|
+
|
|
1336
|
+
// SODA collection creation modes
|
|
1337
|
+
SODA_COLL_MAP_MODE: constants.SODA_COLL_MAP_MODE,
|
|
1338
|
+
|
|
1339
|
+
// pool statuses
|
|
1340
|
+
POOL_STATUS_OPEN: constants.POOL_STATUS_OPEN,
|
|
1341
|
+
POOL_STATUS_DRAINING: constants.POOL_STATUS_DRAINING,
|
|
1342
|
+
POOL_STATUS_CLOSED: constants.POOL_STATUS_CLOSED,
|
|
1343
|
+
POOL_STATUS_RECONFIGURING: constants.POOL_STATUS_RECONFIGURING,
|
|
1344
|
+
|
|
1345
|
+
// AQ dequeue wait options
|
|
1346
|
+
AQ_DEQ_NO_WAIT: constants.AQ_DEQ_NO_WAIT,
|
|
1347
|
+
AQ_DEQ_WAIT_FOREVER: constants.AQ_DEQ_WAIT_FOREVER,
|
|
1348
|
+
|
|
1349
|
+
// AQ dequeue modes
|
|
1350
|
+
AQ_DEQ_MODE_BROWSE: constants.AQ_DEQ_MODE_BROWSE,
|
|
1351
|
+
AQ_DEQ_MODE_LOCKED: constants.AQ_DEQ_MODE_LOCKED,
|
|
1352
|
+
AQ_DEQ_MODE_REMOVE: constants.AQ_DEQ_MODE_REMOVE,
|
|
1353
|
+
AQ_DEQ_MODE_REMOVE_NO_DATA: constants.AQ_DEQ_MODE_REMOVE_NO_DATA,
|
|
1354
|
+
|
|
1355
|
+
// AQ dequeue navigation flags
|
|
1356
|
+
AQ_DEQ_NAV_FIRST_MSG: constants.AQ_DEQ_NAV_FIRST_MSG,
|
|
1357
|
+
AQ_DEQ_NAV_NEXT_TRANSACTION: constants.AQ_DEQ_NAV_NEXT_TRANSACTION,
|
|
1358
|
+
AQ_DEQ_NAV_NEXT_MSG: constants.AQ_DEQ_NAV_NEXT_MSG,
|
|
1359
|
+
|
|
1360
|
+
// AQ message delivery modes
|
|
1361
|
+
AQ_MSG_DELIV_MODE_PERSISTENT: constants.AQ_MSG_DELIV_MODE_PERSISTENT,
|
|
1362
|
+
AQ_MSG_DELIV_MODE_BUFFERED: constants.AQ_MSG_DELIV_MODE_BUFFERED,
|
|
1363
|
+
AQ_MSG_DELIV_MODE_PERSISTENT_OR_BUFFERED:
|
|
1364
|
+
constants.AQ_MSG_DELIV_MODE_PERSISTENT_OR_BUFFERED,
|
|
1365
|
+
|
|
1366
|
+
// AQ message states
|
|
1367
|
+
AQ_MSG_STATE_READY: constants.AQ_MSG_STATE_READY,
|
|
1368
|
+
AQ_MSG_STATE_WAITING: constants.AQ_MSG_STATE_WAITING,
|
|
1369
|
+
AQ_MSG_STATE_PROCESSED: constants.AQ_MSG_STATE_PROCESSED,
|
|
1370
|
+
AQ_MSG_STATE_EXPIRED: constants.AQ_MSG_STATE_EXPIRED,
|
|
1371
|
+
|
|
1372
|
+
// AQ visibility flags
|
|
1373
|
+
AQ_VISIBILITY_IMMEDIATE: constants.AQ_VISIBILITY_IMMEDIATE,
|
|
1374
|
+
AQ_VISIBILITY_ON_COMMIT: constants.AQ_VISIBILITY_ON_COMMIT,
|
|
1375
|
+
|
|
1376
|
+
// TPC/XA begin flags Constants
|
|
1377
|
+
TPC_BEGIN_JOIN: constants.TPC_BEGIN_JOIN,
|
|
1378
|
+
TPC_BEGIN_NEW: constants.TPC_BEGIN_NEW,
|
|
1379
|
+
TPC_BEGIN_PROMOTE: constants.TPC_BEGIN_PROMOTE,
|
|
1380
|
+
TPC_BEGIN_RESUME: constants.TPC_BEGIN_RESUME,
|
|
1381
|
+
|
|
1382
|
+
// TPC/XA two-phase commit flags
|
|
1383
|
+
TPC_END_NORMAL: constants.TPC_END_NORMAL,
|
|
1384
|
+
TPC_END_SUSPEND: constants.TPC_END_SUSPEND,
|
|
1385
|
+
|
|
1386
|
+
// vector types
|
|
1387
|
+
VECTOR_FORMAT_FLOAT32: constants.VECTOR_FORMAT_FLOAT32,
|
|
1388
|
+
VECTOR_FORMAT_FLOAT64: constants.VECTOR_FORMAT_FLOAT64,
|
|
1389
|
+
VECTOR_FORMAT_INT8: constants.VECTOR_FORMAT_INT8,
|
|
1390
|
+
VECTOR_FORMAT_BINARY: constants.VECTOR_FORMAT_BINARY,
|
|
1391
|
+
|
|
1392
|
+
// database type aliases
|
|
1393
|
+
BLOB: types.DB_TYPE_BLOB,
|
|
1394
|
+
BUFFER: types.DB_TYPE_RAW,
|
|
1395
|
+
CLOB: types.DB_TYPE_CLOB,
|
|
1396
|
+
CURSOR: types.DB_TYPE_CURSOR,
|
|
1397
|
+
DATE: types.DB_TYPE_TIMESTAMP,
|
|
1398
|
+
NCLOB: types.DB_TYPE_NCLOB,
|
|
1399
|
+
NUMBER: types.DB_TYPE_NUMBER,
|
|
1400
|
+
STRING: types.DB_TYPE_VARCHAR,
|
|
1401
|
+
|
|
1402
|
+
// outFormat aliases
|
|
1403
|
+
ARRAY: constants.OUT_FORMAT_ARRAY,
|
|
1404
|
+
OBJECT: constants.OUT_FORMAT_OBJECT,
|
|
1405
|
+
|
|
1406
|
+
// Trace Interface
|
|
1407
|
+
traceHandler,
|
|
1408
|
+
|
|
1409
|
+
// Instances
|
|
1410
|
+
future,
|
|
1411
|
+
|
|
1412
|
+
// property getters
|
|
1413
|
+
get autoCommit() {
|
|
1414
|
+
return settings.autoCommit;
|
|
1415
|
+
},
|
|
1416
|
+
|
|
1417
|
+
get connectionClass() {
|
|
1418
|
+
return settings.connectionClass;
|
|
1419
|
+
},
|
|
1420
|
+
|
|
1421
|
+
get dbObjectAsPojo() {
|
|
1422
|
+
return settings.dbObjectAsPojo;
|
|
1423
|
+
},
|
|
1424
|
+
|
|
1425
|
+
get edition() {
|
|
1426
|
+
return settings.edition;
|
|
1427
|
+
},
|
|
1428
|
+
|
|
1429
|
+
get errorOnConcurrentExecute() {
|
|
1430
|
+
return settings.errorOnConcurrentExecute;
|
|
1431
|
+
},
|
|
1432
|
+
|
|
1433
|
+
get events() {
|
|
1434
|
+
return settings.events;
|
|
1435
|
+
},
|
|
1436
|
+
|
|
1437
|
+
get externalAuth() {
|
|
1438
|
+
return settings.externalAuth;
|
|
1439
|
+
},
|
|
1440
|
+
|
|
1441
|
+
get fetchArraySize() {
|
|
1442
|
+
return settings.fetchArraySize;
|
|
1443
|
+
},
|
|
1444
|
+
|
|
1445
|
+
get fetchAsBuffer() {
|
|
1446
|
+
return settings.fetchAsBuffer;
|
|
1447
|
+
},
|
|
1448
|
+
|
|
1449
|
+
get fetchAsString() {
|
|
1450
|
+
return settings.fetchAsString;
|
|
1451
|
+
},
|
|
1452
|
+
|
|
1453
|
+
get fetchTypeHandler() {
|
|
1454
|
+
return settings.fetchTypeHandler;
|
|
1455
|
+
},
|
|
1456
|
+
|
|
1457
|
+
get dbObjectTypeHandler() {
|
|
1458
|
+
return settings.dbObjectTypeHandler;
|
|
1459
|
+
},
|
|
1460
|
+
|
|
1461
|
+
get lobPrefetchSize() {
|
|
1462
|
+
return settings.lobPrefetchSize;
|
|
1463
|
+
},
|
|
1464
|
+
|
|
1465
|
+
get maxRows() {
|
|
1466
|
+
return settings.maxRows;
|
|
1467
|
+
},
|
|
1468
|
+
|
|
1469
|
+
get oracleClientVersion() {
|
|
1470
|
+
return settings.oracleClientVersion;
|
|
1471
|
+
},
|
|
1472
|
+
|
|
1473
|
+
get oracleClientVersionString() {
|
|
1474
|
+
return settings.oracleClientVersionString;
|
|
1475
|
+
},
|
|
1476
|
+
|
|
1477
|
+
get outFormat() {
|
|
1478
|
+
return settings.outFormat;
|
|
1479
|
+
},
|
|
1480
|
+
|
|
1481
|
+
get poolIncrement() {
|
|
1482
|
+
return settings.poolIncrement;
|
|
1483
|
+
},
|
|
1484
|
+
|
|
1485
|
+
get poolMax() {
|
|
1486
|
+
return settings.poolMax;
|
|
1487
|
+
},
|
|
1488
|
+
|
|
1489
|
+
get poolMaxPerShard() {
|
|
1490
|
+
return settings.poolMaxPerShard;
|
|
1491
|
+
},
|
|
1492
|
+
|
|
1493
|
+
get poolMin() {
|
|
1494
|
+
return settings.poolMin;
|
|
1495
|
+
},
|
|
1496
|
+
|
|
1497
|
+
get poolPingInterval() {
|
|
1498
|
+
return settings.poolPingInterval;
|
|
1499
|
+
},
|
|
1500
|
+
|
|
1501
|
+
get poolPingTimeout() {
|
|
1502
|
+
return settings.poolPingTimeout;
|
|
1503
|
+
},
|
|
1504
|
+
|
|
1505
|
+
get poolTimeout() {
|
|
1506
|
+
return settings.poolTimeout;
|
|
1507
|
+
},
|
|
1508
|
+
|
|
1509
|
+
get prefetchRows() {
|
|
1510
|
+
return settings.prefetchRows;
|
|
1511
|
+
},
|
|
1512
|
+
|
|
1513
|
+
get stmtCacheSize() {
|
|
1514
|
+
return settings.stmtCacheSize;
|
|
1515
|
+
},
|
|
1516
|
+
|
|
1517
|
+
get configProviderCacheTimeout() {
|
|
1518
|
+
return settings.configProviderCacheTimeout;
|
|
1519
|
+
},
|
|
1520
|
+
|
|
1521
|
+
|
|
1522
|
+
get thin() {
|
|
1523
|
+
return settings.thin;
|
|
1524
|
+
},
|
|
1525
|
+
|
|
1526
|
+
get version() {
|
|
1527
|
+
return constants.VERSION_MAJOR * 10000 + constants.VERSION_MINOR * 100 +
|
|
1528
|
+
constants.VERSION_PATCH;
|
|
1529
|
+
},
|
|
1530
|
+
|
|
1531
|
+
get versionString() {
|
|
1532
|
+
return constants.VERSION_STRING;
|
|
1533
|
+
},
|
|
1534
|
+
|
|
1535
|
+
get versionSuffix() {
|
|
1536
|
+
return constants.VERSION_SUFFIX;
|
|
1537
|
+
},
|
|
1538
|
+
|
|
1539
|
+
// property setters
|
|
1540
|
+
set autoCommit(value) {
|
|
1541
|
+
errors.assertPropValue(typeof value === 'boolean', "autoCommit");
|
|
1542
|
+
settings.autoCommit = value;
|
|
1543
|
+
},
|
|
1544
|
+
|
|
1545
|
+
set connectionClass(value) {
|
|
1546
|
+
errors.assertPropValue(typeof value === 'string', "connectionClass");
|
|
1547
|
+
settings.connectionClass = value;
|
|
1548
|
+
},
|
|
1549
|
+
|
|
1550
|
+
set dbObjectAsPojo(value) {
|
|
1551
|
+
errors.assertPropValue(typeof value === 'boolean', "dbObjectAsPojo");
|
|
1552
|
+
settings.dbObjectAsPojo = value;
|
|
1553
|
+
},
|
|
1554
|
+
|
|
1555
|
+
set driverName(value) {
|
|
1556
|
+
errors.assertPropValue(typeof value === 'string', "driverName");
|
|
1557
|
+
settings.driverName = value;
|
|
1558
|
+
},
|
|
1559
|
+
|
|
1560
|
+
set edition(value) {
|
|
1561
|
+
errors.assertPropValue(typeof value === 'string', "edition");
|
|
1562
|
+
settings.edition = value;
|
|
1563
|
+
},
|
|
1564
|
+
|
|
1565
|
+
set errorOnConcurrentExecute(value) {
|
|
1566
|
+
errors.assertPropValue(typeof value === 'boolean',
|
|
1567
|
+
"errorOnConcurrentExecute");
|
|
1568
|
+
settings.errorOnConcurrentExecute = value;
|
|
1569
|
+
},
|
|
1570
|
+
|
|
1571
|
+
set events(value) {
|
|
1572
|
+
errors.assertPropValue(typeof value === 'boolean', "events");
|
|
1573
|
+
settings.events = value;
|
|
1574
|
+
},
|
|
1575
|
+
|
|
1576
|
+
set externalAuth(value) {
|
|
1577
|
+
errors.assertPropValue(typeof value === 'boolean', "externalAuth");
|
|
1578
|
+
settings.externalAuth = value;
|
|
1579
|
+
},
|
|
1580
|
+
|
|
1581
|
+
set fetchArraySize(value) {
|
|
1582
|
+
errors.assertPropValue(Number.isInteger(value) && value > 0,
|
|
1583
|
+
"fetchArraySize");
|
|
1584
|
+
settings.fetchArraySize = value;
|
|
1585
|
+
},
|
|
1586
|
+
|
|
1587
|
+
set fetchAsBuffer(value) {
|
|
1588
|
+
errors.assertPropValue(Array.isArray(value), "fetchAsBuffer");
|
|
1589
|
+
settings.createFetchTypeMap(settings.fetchAsString, value);
|
|
1590
|
+
settings.fetchAsBuffer = value;
|
|
1591
|
+
},
|
|
1592
|
+
|
|
1593
|
+
set fetchAsString(value) {
|
|
1594
|
+
errors.assertPropValue(Array.isArray(value), "fetchAsString");
|
|
1595
|
+
settings.createFetchTypeMap(value, settings.fetchAsBuffer);
|
|
1596
|
+
settings.fetchAsString = value;
|
|
1597
|
+
},
|
|
1598
|
+
|
|
1599
|
+
set fetchTypeHandler(value) {
|
|
1600
|
+
if (value !== undefined) {
|
|
1601
|
+
errors.assertPropValue(typeof value === 'function', "fetchTypeHandler");
|
|
1602
|
+
}
|
|
1603
|
+
settings.fetchTypeHandler = value;
|
|
1604
|
+
},
|
|
1605
|
+
|
|
1606
|
+
set dbObjectTypeHandler(value) {
|
|
1607
|
+
if (value !== undefined) {
|
|
1608
|
+
errors.assertPropValue(typeof value === 'function', "dbObjectTypeHandler");
|
|
1609
|
+
}
|
|
1610
|
+
settings.dbObjectTypeHandler = value;
|
|
1611
|
+
},
|
|
1612
|
+
|
|
1613
|
+
set lobPrefetchSize(value) {
|
|
1614
|
+
errors.assertPropValue(Number.isInteger(value) && value >= 0,
|
|
1615
|
+
"lobPrefetchSize");
|
|
1616
|
+
settings.lobPrefetchSize = value;
|
|
1617
|
+
},
|
|
1618
|
+
|
|
1619
|
+
set machine(value) {
|
|
1620
|
+
errors.assertPropValue(typeof value === 'string', "machine");
|
|
1621
|
+
const sanitizedValue = nodbUtil.sanitize(value);
|
|
1622
|
+
errors.assertPropValue(value == sanitizedValue, "machine");
|
|
1623
|
+
settings.machine = value;
|
|
1624
|
+
},
|
|
1625
|
+
|
|
1626
|
+
set maxRows(value) {
|
|
1627
|
+
errors.assertPropValue(Number.isInteger(value) && value >= 0, "maxRows");
|
|
1628
|
+
settings.maxRows = value;
|
|
1629
|
+
},
|
|
1630
|
+
|
|
1631
|
+
set osUser(value) {
|
|
1632
|
+
errors.assertPropValue(typeof value === 'string', "osUser");
|
|
1633
|
+
const sanitizedValue = nodbUtil.sanitize(value);
|
|
1634
|
+
errors.assertPropValue(value == sanitizedValue, "osUser");
|
|
1635
|
+
settings.osUser = value;
|
|
1636
|
+
},
|
|
1637
|
+
|
|
1638
|
+
set outFormat(value) {
|
|
1639
|
+
if (value !== constants.OUT_FORMAT_ARRAY &&
|
|
1640
|
+
value !== constants.OUT_FORMAT_OBJECT) {
|
|
1641
|
+
errors.throwErr(errors.ERR_INVALID_PROPERTY_VALUE, "outFormat");
|
|
1642
|
+
}
|
|
1643
|
+
settings.outFormat = value;
|
|
1644
|
+
},
|
|
1645
|
+
|
|
1646
|
+
set poolIncrement(value) {
|
|
1647
|
+
errors.assertPropValue(Number.isInteger(value) && value >= 0,
|
|
1648
|
+
"poolIncrement");
|
|
1649
|
+
settings.poolIncrement = value;
|
|
1650
|
+
},
|
|
1651
|
+
|
|
1652
|
+
set poolMax(value) {
|
|
1653
|
+
errors.assertPropValue(Number.isInteger(value) && value >= 0, "poolMax");
|
|
1654
|
+
settings.poolMax = value;
|
|
1655
|
+
},
|
|
1656
|
+
|
|
1657
|
+
set poolMaxPerShard(value) {
|
|
1658
|
+
errors.assertPropValue(Number.isInteger(value) && value >= 0,
|
|
1659
|
+
"poolMaxPerShard");
|
|
1660
|
+
settings.poolMaxPerShard = value;
|
|
1661
|
+
},
|
|
1662
|
+
|
|
1663
|
+
set poolMin(value) {
|
|
1664
|
+
errors.assertPropValue(Number.isInteger(value) && value >= 0, "poolMin");
|
|
1665
|
+
settings.poolMin = value;
|
|
1666
|
+
},
|
|
1667
|
+
|
|
1668
|
+
set poolPingInterval(value) {
|
|
1669
|
+
errors.assertPropValue(Number.isInteger(value) && value < 2 ** 31 &&
|
|
1670
|
+
value >= (-2) ** 31, "poolPingInterval");
|
|
1671
|
+
settings.poolPingInterval = value;
|
|
1672
|
+
},
|
|
1673
|
+
|
|
1674
|
+
set poolPingTimeout(value) {
|
|
1675
|
+
errors.assertPropValue(Number.isInteger(value) && value >= 0,
|
|
1676
|
+
"poolPingTimeout");
|
|
1677
|
+
settings.poolPingTimeout = value;
|
|
1678
|
+
},
|
|
1679
|
+
|
|
1680
|
+
set poolTimeout(value) {
|
|
1681
|
+
errors.assertPropValue(Number.isInteger(value) && value >= 0,
|
|
1682
|
+
"poolTimeout");
|
|
1683
|
+
settings.poolTimeout = value;
|
|
1684
|
+
},
|
|
1685
|
+
|
|
1686
|
+
set prefetchRows(value) {
|
|
1687
|
+
errors.assertPropValue(Number.isInteger(value) && value >= 0,
|
|
1688
|
+
"prefetchRows");
|
|
1689
|
+
settings.prefetchRows = value;
|
|
1690
|
+
},
|
|
1691
|
+
|
|
1692
|
+
set program(value) {
|
|
1693
|
+
errors.assertPropValue(typeof value === 'string', "program");
|
|
1694
|
+
const sanitizedValue = nodbUtil.sanitize(value);
|
|
1695
|
+
errors.assertPropValue(value == sanitizedValue, "program");
|
|
1696
|
+
settings.program = value;
|
|
1697
|
+
},
|
|
1698
|
+
|
|
1699
|
+
set stmtCacheSize(value) {
|
|
1700
|
+
errors.assertPropValue(Number.isInteger(value) && value >= 0,
|
|
1701
|
+
"stmtCacheSize");
|
|
1702
|
+
settings.stmtCacheSize = value;
|
|
1703
|
+
},
|
|
1704
|
+
|
|
1705
|
+
set terminal(value) {
|
|
1706
|
+
errors.assertPropValue(typeof value === 'string', "terminal");
|
|
1707
|
+
settings.terminal = value;
|
|
1708
|
+
},
|
|
1709
|
+
|
|
1710
|
+
set configProviderCacheTimeout(value) {
|
|
1711
|
+
errors.assertPropValue(Number.isInteger(value) && value >= 0,
|
|
1712
|
+
"configProviderCacheTimeout");
|
|
1713
|
+
settings.configProviderCacheTimeout = value;
|
|
1714
|
+
}
|
|
1715
|
+
|
|
1716
|
+
};
|