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.
Files changed (628) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/4by6-f6q.js +982 -0
  3. package/.output/public/_nuxt/8Ppmjv9D.js +1 -0
  4. package/.output/public/_nuxt/B1qjkRVO.js +1 -0
  5. package/.output/public/_nuxt/B3KEisfc.js +1 -0
  6. package/.output/public/_nuxt/B4ebLeWY.js +9 -0
  7. package/.output/public/_nuxt/{IitECNfD.js → B6hH0qos.js} +1 -1
  8. package/.output/public/_nuxt/{BUDtG__q.js → B7HEMfgt.js} +1 -1
  9. package/.output/public/_nuxt/B84SvUzr.js +1 -0
  10. package/.output/public/_nuxt/BDXvbRNW.js +1 -0
  11. package/.output/public/_nuxt/BGRcizqy.js +1 -0
  12. package/.output/public/_nuxt/{ClYziJpO.js → BGVGiigU.js} +1 -1
  13. package/.output/public/_nuxt/{ZdjmUBoX.js → BJYf67_H.js} +1 -1
  14. package/.output/public/_nuxt/BOK5ZFNK.js +1 -0
  15. package/.output/public/_nuxt/BPY2ud8g.js +1 -0
  16. package/.output/public/_nuxt/BSONoRG4.js +2 -0
  17. package/.output/public/_nuxt/BT53m-su.js +1 -0
  18. package/.output/public/_nuxt/BTJSh8in.js +2 -0
  19. package/.output/public/_nuxt/BVpt8J3a.js +1 -0
  20. package/.output/public/_nuxt/{BhUkpIlA.js → BdDEVolW.js} +1 -1
  21. package/.output/public/_nuxt/{C27bL9Es.js → BeNILdbT.js} +1 -1
  22. package/.output/public/_nuxt/{Dnx67EG9.js → BmU9CNkM.js} +1 -1
  23. package/.output/public/_nuxt/{DLHYqHwF.js → BnFDcr74.js} +1 -1
  24. package/.output/public/_nuxt/{sE-55p4e.js → BprXyYdv.js} +1 -1
  25. package/.output/public/_nuxt/{BCcTASq_.js → Bq7otXBA.js} +1 -1
  26. package/.output/public/_nuxt/{B_PBOfFN.js → BqyO8OjC.js} +93 -93
  27. package/.output/public/_nuxt/Bs1og3h1.js +10 -0
  28. package/.output/public/_nuxt/Bs2DgR_z.js +1 -0
  29. package/.output/public/_nuxt/{BsoQBloB.js → BvUhrUEH.js} +1 -1
  30. package/.output/public/_nuxt/{DkggUtNN.js → BxDrCsPf.js} +1 -1
  31. package/.output/public/_nuxt/BxrwrGYE.js +1 -0
  32. package/.output/public/_nuxt/By0aUn7N.js +1 -0
  33. package/.output/public/_nuxt/{C07rlnlv.js → ByOuUnNS.js} +1 -1
  34. package/.output/public/_nuxt/C177_GoB.js +1 -0
  35. package/.output/public/_nuxt/{DcfsxCxL.js → C1jMZ4hc.js} +1 -1
  36. package/.output/public/_nuxt/C5bgdIOp.js +1 -0
  37. package/.output/public/_nuxt/C69a9jD3.js +67 -0
  38. package/.output/public/_nuxt/C8AyZ3_X.js +2 -0
  39. package/.output/public/_nuxt/C8KplD68.js +1 -0
  40. package/.output/public/_nuxt/CA99KAte.js +3 -0
  41. package/.output/public/_nuxt/{CvTHaPAO.js → CE8aasoy.js} +1 -1
  42. package/.output/public/_nuxt/{DkY69STm.js → CEvNlevo.js} +1 -1
  43. package/.output/public/_nuxt/{B8JnYxjr.js → CKqvNpN3.js} +1 -1
  44. package/.output/public/_nuxt/CNF1h1lI.js +1 -0
  45. package/.output/public/_nuxt/COAycMg4.js +1 -0
  46. package/.output/public/_nuxt/CR6_eO9a.js +6 -0
  47. package/.output/public/_nuxt/{D4jn2f-6.js → CREZ9f0O.js} +4 -4
  48. package/.output/public/_nuxt/CS5ItJPR.js +39 -0
  49. package/.output/public/_nuxt/CcK14gfI.js +1 -0
  50. package/.output/public/_nuxt/{DnxDSFih.js → Ci43mke5.js} +3 -3
  51. package/.output/public/_nuxt/CjouDEjz.js +1 -0
  52. package/.output/public/_nuxt/Cp5lMcfd.js +1 -0
  53. package/.output/public/_nuxt/CpYiq1Wv.js +1 -0
  54. package/.output/public/_nuxt/{DVxTxYP4.js → CrLqg4B0.js} +1 -1
  55. package/.output/public/_nuxt/{BJxYuvXF.js → CvcedJeQ.js} +1 -1
  56. package/.output/public/_nuxt/{FIJP2AmN.js → Cvq07PgE.js} +1 -1
  57. package/.output/public/_nuxt/CwmbX4-U.js +1 -0
  58. package/.output/public/_nuxt/{B27ECqWz.js → Cx6s86aR.js} +1 -1
  59. package/.output/public/_nuxt/{DDYV6jDr.js → CybtvDjH.js} +1 -1
  60. package/.output/public/_nuxt/CzB2y8br.js +18 -0
  61. package/.output/public/_nuxt/{-p9JbKy8.js → D-YUpbah.js} +3 -3
  62. package/.output/public/_nuxt/D60Pzl_V.js +1 -0
  63. package/.output/public/_nuxt/D9BYd7AV.js +1 -0
  64. package/.output/public/_nuxt/D9dEqMyH.js +152 -0
  65. package/.output/public/_nuxt/DCJ49Fnq.js +1 -0
  66. package/.output/public/_nuxt/{gO22NLpn.js → DESYlybj.js} +1 -1
  67. package/.output/public/_nuxt/DFM-aCBX.js +1 -0
  68. package/.output/public/_nuxt/{DRKnK1N_.js → DHnNoguE.js} +1 -1
  69. package/.output/public/_nuxt/{ChkFTcxr.js → DJqZzQsX.js} +1 -1
  70. package/.output/public/_nuxt/DNNdcUH4.js +1 -0
  71. package/.output/public/_nuxt/{LFK46Fls.js → DNdM2ZyK.js} +1 -1
  72. package/.output/public/_nuxt/{CVliJ52o.js → DQT4eICL.js} +1 -1
  73. package/.output/public/_nuxt/{CffFK_qY.js → DWBoXz89.js} +1 -1
  74. package/.output/public/_nuxt/DXp9fCib.js +20 -0
  75. package/.output/public/_nuxt/{ACOLmAuq.js → DaKikgWm.js} +1 -1
  76. package/.output/public/_nuxt/{B9zSkyFO.js → DaMyovpr.js} +1 -1
  77. package/.output/public/_nuxt/DeBdxlx0.js +1 -0
  78. package/.output/public/_nuxt/{trZyeId5.js → DhKwXzSk.js} +1 -1
  79. package/.output/public/_nuxt/{C6Vqzp-9.js → DkadXn5U.js} +1 -1
  80. package/.output/public/_nuxt/Dkikh2OC.js +22 -0
  81. package/.output/public/_nuxt/DlOyXrKK.js +1 -0
  82. package/.output/public/_nuxt/{UqWhjgOc.js → Dpl6-lqE.js} +1 -1
  83. package/.output/public/_nuxt/DqA_edEU.js +1 -0
  84. package/.output/public/_nuxt/DqxL2Lpl.js +1 -0
  85. package/.output/public/_nuxt/Dt3rfvTn.js +1 -0
  86. package/.output/public/_nuxt/Dt5h0Tys.js +1 -0
  87. package/.output/public/_nuxt/DwrSZ8Vj.js +1 -0
  88. package/.output/public/_nuxt/DwyFZZT6.js +1 -0
  89. package/.output/public/_nuxt/EM8J-XL1.js +7 -0
  90. package/.output/public/_nuxt/ESKvsKwc.js +1 -0
  91. package/.output/public/_nuxt/{CWGdTiOD.js → F5lCgNdb.js} +1 -1
  92. package/.output/public/_nuxt/H5m89x1B.js +1 -0
  93. package/.output/public/_nuxt/{CwdIiq6J.js → PUe8M07P.js} +2 -2
  94. package/.output/public/_nuxt/{Cjgqfl1g.js → TEF-nDfP.js} +1 -1
  95. package/.output/public/_nuxt/{DNZpxuwM.js → TuKV3Ilv.js} +1 -1
  96. package/.output/public/_nuxt/V5LvXMJl.js +1 -0
  97. package/.output/public/_nuxt/{c_huf6xz.js → YJvNy3iu.js} +27 -27
  98. package/.output/public/_nuxt/{C7C8tPlA.js → ZObQcd0X.js} +1 -1
  99. package/.output/public/_nuxt/{CHOD7i6O.js → b_MfGg1c.js} +1 -1
  100. package/.output/public/_nuxt/builds/latest.json +1 -1
  101. package/.output/public/_nuxt/builds/meta/455d4da4-6357-4478-8703-78a79ccbbc0f.json +1 -0
  102. package/.output/public/_nuxt/entry.qdzR7QFr.css +1 -0
  103. package/.output/public/_nuxt/fpuEgQ7C.js +12 -0
  104. package/.output/public/_nuxt/jU7fkvuR.js +1 -0
  105. package/.output/public/_nuxt/{CSTzT9hP.js → lHkFwi3L.js} +1 -1
  106. package/.output/public/_nuxt/{BQOaPJzs.js → minLMBmY.js} +1 -1
  107. package/.output/public/_nuxt/pQ8l8BR2.js +1 -0
  108. package/.output/public/_nuxt/xYXqL1eV.js +1 -0
  109. package/.output/public/_nuxt/xxfb8w7n.js +1 -0
  110. package/.output/server/chunks/_/create-adapter.mjs +36 -7
  111. package/.output/server/chunks/_/create-adapter.mjs.map +1 -1
  112. package/.output/server/chunks/_/database-error.mjs +10 -0
  113. package/.output/server/chunks/_/database-error.mjs.map +1 -1
  114. package/.output/server/chunks/_/database-roles.factory.mjs +126 -22
  115. package/.output/server/chunks/_/database-roles.factory.mjs.map +1 -1
  116. package/.output/server/chunks/_/db-connection.mjs +721 -81
  117. package/.output/server/chunks/_/db-connection.mjs.map +1 -1
  118. package/.output/server/chunks/_/functions.factory.mjs +97 -6
  119. package/.output/server/chunks/_/functions.factory.mjs.map +1 -1
  120. package/.output/server/chunks/_/instance-insights.factory.mjs +106 -7
  121. package/.output/server/chunks/_/instance-insights.factory.mjs.map +1 -1
  122. package/.output/server/chunks/_/metadata.factory.mjs +912 -43
  123. package/.output/server/chunks/_/metadata.factory.mjs.map +1 -1
  124. package/.output/server/chunks/_/native-backup-jobs.mjs +1302 -0
  125. package/.output/server/chunks/_/native-backup-jobs.mjs.map +1 -0
  126. package/.output/server/chunks/_/query.factory.mjs +536 -14
  127. package/.output/server/chunks/_/query.factory.mjs.map +1 -1
  128. package/.output/server/chunks/_/schemaMeta.type.mjs +13 -0
  129. package/.output/server/chunks/_/schemaMeta.type.mjs.map +1 -0
  130. package/.output/server/chunks/_/tables.factory.mjs +905 -37
  131. package/.output/server/chunks/_/tables.factory.mjs.map +1 -1
  132. package/.output/server/chunks/_/type-alias.constants.mjs +242 -0
  133. package/.output/server/chunks/_/type-alias.constants.mjs.map +1 -0
  134. package/.output/server/chunks/_/views.factory.mjs +106 -8
  135. package/.output/server/chunks/_/views.factory.mjs.map +1 -1
  136. package/.output/server/chunks/build/client.manifest.mjs +676 -672
  137. package/.output/server/chunks/build/client.manifest.mjs.map +1 -1
  138. package/.output/server/chunks/nitro/nitro.mjs +1046 -751
  139. package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
  140. package/.output/server/chunks/routes/api/ai/agent.mjs +30 -79
  141. package/.output/server/chunks/routes/api/ai/agent.mjs.map +1 -1
  142. package/.output/server/chunks/routes/api/database-export/export-database.mjs +26 -124
  143. package/.output/server/chunks/routes/api/database-export/export-database.mjs.map +1 -1
  144. package/.output/server/chunks/routes/api/database-export/jobs/_jobId/download.get.mjs +52 -0
  145. package/.output/server/chunks/routes/api/database-export/jobs/_jobId/download.get.mjs.map +1 -0
  146. package/.output/server/chunks/routes/api/database-export/jobs/_jobId_.get.mjs +43 -0
  147. package/.output/server/chunks/routes/api/database-export/jobs/_jobId_.get.mjs.map +1 -0
  148. package/.output/server/chunks/routes/api/database-import/import-database.mjs +69 -134
  149. package/.output/server/chunks/routes/api/database-import/import-database.mjs.map +1 -1
  150. package/.output/server/chunks/routes/api/database-import/jobs/_jobId_.get.mjs +43 -0
  151. package/.output/server/chunks/routes/api/database-import/jobs/_jobId_.get.mjs.map +1 -0
  152. package/.output/server/chunks/routes/api/database-roles/create-role.mjs +2 -0
  153. package/.output/server/chunks/routes/api/database-roles/create-role.mjs.map +1 -1
  154. package/.output/server/chunks/routes/api/database-roles/delete-role.mjs +2 -0
  155. package/.output/server/chunks/routes/api/database-roles/delete-role.mjs.map +1 -1
  156. package/.output/server/chunks/routes/api/database-roles/get-databases-with-permissions.mjs +2 -0
  157. package/.output/server/chunks/routes/api/database-roles/get-databases-with-permissions.mjs.map +1 -1
  158. package/.output/server/chunks/routes/api/database-roles/get-databases.mjs +2 -0
  159. package/.output/server/chunks/routes/api/database-roles/get-databases.mjs.map +1 -1
  160. package/.output/server/chunks/routes/api/database-roles/get-permissions.mjs +2 -0
  161. package/.output/server/chunks/routes/api/database-roles/get-permissions.mjs.map +1 -1
  162. package/.output/server/chunks/routes/api/database-roles/get-role-inheritance.mjs +2 -0
  163. package/.output/server/chunks/routes/api/database-roles/get-role-inheritance.mjs.map +1 -1
  164. package/.output/server/chunks/routes/api/database-roles/get-role.mjs +2 -0
  165. package/.output/server/chunks/routes/api/database-roles/get-role.mjs.map +1 -1
  166. package/.output/server/chunks/routes/api/database-roles/get-roles.mjs +2 -0
  167. package/.output/server/chunks/routes/api/database-roles/get-roles.mjs.map +1 -1
  168. package/.output/server/chunks/routes/api/database-roles/get-schema-objects.mjs +2 -0
  169. package/.output/server/chunks/routes/api/database-roles/get-schema-objects.mjs.map +1 -1
  170. package/.output/server/chunks/routes/api/database-roles/get-schemas.mjs +2 -0
  171. package/.output/server/chunks/routes/api/database-roles/get-schemas.mjs.map +1 -1
  172. package/.output/server/chunks/routes/api/database-roles/grant-bulk-permissions.mjs +2 -0
  173. package/.output/server/chunks/routes/api/database-roles/grant-bulk-permissions.mjs.map +1 -1
  174. package/.output/server/chunks/routes/api/database-roles/grant-permission.mjs +2 -0
  175. package/.output/server/chunks/routes/api/database-roles/grant-permission.mjs.map +1 -1
  176. package/.output/server/chunks/routes/api/database-roles/revoke-permission.mjs +2 -0
  177. package/.output/server/chunks/routes/api/database-roles/revoke-permission.mjs.map +1 -1
  178. package/.output/server/chunks/routes/api/functions/definition.post.mjs +3 -1
  179. package/.output/server/chunks/routes/api/functions/definition.post.mjs.map +1 -1
  180. package/.output/server/chunks/routes/api/functions/delete.post.mjs +3 -1
  181. package/.output/server/chunks/routes/api/functions/delete.post.mjs.map +1 -1
  182. package/.output/server/chunks/routes/api/functions/overview.post.mjs +3 -1
  183. package/.output/server/chunks/routes/api/functions/overview.post.mjs.map +1 -1
  184. package/.output/server/chunks/routes/api/functions/rename.post.mjs +3 -1
  185. package/.output/server/chunks/routes/api/functions/rename.post.mjs.map +1 -1
  186. package/.output/server/chunks/routes/api/functions/signature.post.mjs +3 -1
  187. package/.output/server/chunks/routes/api/functions/signature.post.mjs.map +1 -1
  188. package/.output/server/chunks/routes/api/functions/update.post.mjs +24 -6
  189. package/.output/server/chunks/routes/api/functions/update.post.mjs.map +1 -1
  190. package/.output/server/chunks/routes/api/index.post.mjs +63 -0
  191. package/.output/server/chunks/routes/api/index.post.mjs.map +1 -0
  192. package/.output/server/chunks/routes/api/instance-insights/cancel-query.post.mjs +2 -0
  193. package/.output/server/chunks/routes/api/instance-insights/cancel-query.post.mjs.map +1 -1
  194. package/.output/server/chunks/routes/api/instance-insights/configuration.post.mjs +2 -0
  195. package/.output/server/chunks/routes/api/instance-insights/configuration.post.mjs.map +1 -1
  196. package/.output/server/chunks/routes/api/instance-insights/dashboard.post.mjs +2 -0
  197. package/.output/server/chunks/routes/api/instance-insights/dashboard.post.mjs.map +1 -1
  198. package/.output/server/chunks/routes/api/instance-insights/drop-slot.post.mjs +2 -0
  199. package/.output/server/chunks/routes/api/instance-insights/drop-slot.post.mjs.map +1 -1
  200. package/.output/server/chunks/routes/api/instance-insights/replication.post.mjs +2 -0
  201. package/.output/server/chunks/routes/api/instance-insights/replication.post.mjs.map +1 -1
  202. package/.output/server/chunks/routes/api/instance-insights/state.post.mjs +2 -0
  203. package/.output/server/chunks/routes/api/instance-insights/state.post.mjs.map +1 -1
  204. package/.output/server/chunks/routes/api/instance-insights/terminate-connection.post.mjs +2 -0
  205. package/.output/server/chunks/routes/api/instance-insights/terminate-connection.post.mjs.map +1 -1
  206. package/.output/server/chunks/routes/api/instance-insights/toggle-slot-status.post.mjs +2 -0
  207. package/.output/server/chunks/routes/api/instance-insights/toggle-slot-status.post.mjs.map +1 -1
  208. package/.output/server/chunks/routes/api/managment-connection/health-check.mjs +10 -4
  209. package/.output/server/chunks/routes/api/managment-connection/health-check.mjs.map +1 -1
  210. package/.output/server/chunks/routes/api/metadata/erd.post.mjs +4 -0
  211. package/.output/server/chunks/routes/api/metadata/erd.post.mjs.map +1 -1
  212. package/.output/server/chunks/routes/api/metadata/meta-data.post.mjs +4 -0
  213. package/.output/server/chunks/routes/api/metadata/meta-data.post.mjs.map +1 -1
  214. package/.output/server/chunks/routes/api/metadata/reverse-schemas.post.mjs +4 -0
  215. package/.output/server/chunks/routes/api/metadata/reverse-schemas.post.mjs.map +1 -1
  216. package/.output/server/chunks/routes/api/metrics/monitor.post.mjs +80 -7
  217. package/.output/server/chunks/routes/api/metrics/monitor.post.mjs.map +1 -1
  218. package/.output/server/chunks/routes/api/query/execute.post.mjs +3 -1
  219. package/.output/server/chunks/routes/api/query/execute.post.mjs.map +1 -1
  220. package/.output/server/chunks/routes/api/query/raw-execute-stream.post.mjs +3 -1
  221. package/.output/server/chunks/routes/api/query/raw-execute-stream.post.mjs.map +1 -1
  222. package/.output/server/chunks/routes/api/query/raw-execute.post.mjs +3 -1
  223. package/.output/server/chunks/routes/api/query/raw-execute.post.mjs.map +1 -1
  224. package/.output/server/chunks/routes/api/tables/bulk-delete.post.mjs +3 -1
  225. package/.output/server/chunks/routes/api/tables/bulk-delete.post.mjs.map +1 -1
  226. package/.output/server/chunks/routes/api/tables/bulk-update.post.mjs +3 -1
  227. package/.output/server/chunks/routes/api/tables/bulk-update.post.mjs.map +1 -1
  228. package/.output/server/chunks/routes/api/tables/ddl.post.mjs +3 -1
  229. package/.output/server/chunks/routes/api/tables/ddl.post.mjs.map +1 -1
  230. package/.output/server/chunks/routes/api/tables/export.post.mjs +4 -2
  231. package/.output/server/chunks/routes/api/tables/export.post.mjs.map +1 -1
  232. package/.output/server/chunks/routes/api/tables/indexes.post.mjs +3 -1
  233. package/.output/server/chunks/routes/api/tables/indexes.post.mjs.map +1 -1
  234. package/.output/server/chunks/routes/api/tables/meta.post.mjs +3 -1
  235. package/.output/server/chunks/routes/api/tables/meta.post.mjs.map +1 -1
  236. package/.output/server/chunks/routes/api/tables/overview.post.mjs +3 -1
  237. package/.output/server/chunks/routes/api/tables/overview.post.mjs.map +1 -1
  238. package/.output/server/chunks/routes/api/tables/rls.post.mjs +3 -1
  239. package/.output/server/chunks/routes/api/tables/rls.post.mjs.map +1 -1
  240. package/.output/server/chunks/routes/api/tables/rules.post.mjs +3 -1
  241. package/.output/server/chunks/routes/api/tables/rules.post.mjs.map +1 -1
  242. package/.output/server/chunks/routes/api/tables/size.post.mjs +3 -1
  243. package/.output/server/chunks/routes/api/tables/size.post.mjs.map +1 -1
  244. package/.output/server/chunks/routes/api/tables/structure.post.mjs +3 -1
  245. package/.output/server/chunks/routes/api/tables/structure.post.mjs.map +1 -1
  246. package/.output/server/chunks/routes/api/tables/triggers.post.mjs +3 -1
  247. package/.output/server/chunks/routes/api/tables/triggers.post.mjs.map +1 -1
  248. package/.output/server/chunks/routes/api/views/definition.post.mjs +2 -0
  249. package/.output/server/chunks/routes/api/views/definition.post.mjs.map +1 -1
  250. package/.output/server/chunks/routes/api/views/dependencies.post.mjs +2 -0
  251. package/.output/server/chunks/routes/api/views/dependencies.post.mjs.map +1 -1
  252. package/.output/server/chunks/routes/api/views/explain.post.mjs +2 -0
  253. package/.output/server/chunks/routes/api/views/explain.post.mjs.map +1 -1
  254. package/.output/server/chunks/routes/api/views/indexes.post.mjs +2 -0
  255. package/.output/server/chunks/routes/api/views/indexes.post.mjs.map +1 -1
  256. package/.output/server/chunks/routes/api/views/meta.post.mjs +2 -0
  257. package/.output/server/chunks/routes/api/views/meta.post.mjs.map +1 -1
  258. package/.output/server/chunks/routes/api/views/overview.post.mjs +2 -0
  259. package/.output/server/chunks/routes/api/views/overview.post.mjs.map +1 -1
  260. package/.output/server/chunks/routes/renderer.mjs +1 -1
  261. package/.output/server/index.mjs +1 -1
  262. package/.output/server/node_modules/aws-ssl-profiles/lib/index.js +13 -0
  263. package/.output/server/node_modules/aws-ssl-profiles/lib/profiles/ca/defaults.js +2888 -0
  264. package/.output/server/node_modules/aws-ssl-profiles/lib/profiles/ca/proxies.js +111 -0
  265. package/.output/server/node_modules/aws-ssl-profiles/package.json +52 -0
  266. package/.output/server/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
  267. package/.output/server/node_modules/better-sqlite3/lib/database.js +90 -0
  268. package/.output/server/node_modules/better-sqlite3/lib/index.js +3 -0
  269. package/.output/server/node_modules/better-sqlite3/lib/methods/aggregate.js +43 -0
  270. package/.output/server/node_modules/better-sqlite3/lib/methods/backup.js +67 -0
  271. package/.output/server/node_modules/better-sqlite3/lib/methods/function.js +31 -0
  272. package/.output/server/node_modules/better-sqlite3/lib/methods/inspect.js +7 -0
  273. package/.output/server/node_modules/better-sqlite3/lib/methods/pragma.js +12 -0
  274. package/.output/server/node_modules/better-sqlite3/lib/methods/serialize.js +16 -0
  275. package/.output/server/node_modules/better-sqlite3/lib/methods/table.js +189 -0
  276. package/.output/server/node_modules/better-sqlite3/lib/methods/transaction.js +78 -0
  277. package/.output/server/node_modules/better-sqlite3/lib/methods/wrappers.js +54 -0
  278. package/.output/server/node_modules/better-sqlite3/lib/sqlite-error.js +20 -0
  279. package/.output/server/node_modules/better-sqlite3/lib/util.js +12 -0
  280. package/.output/server/node_modules/better-sqlite3/package.json +59 -0
  281. package/.output/server/node_modules/cpu-features/build/Release/cpufeatures.node +0 -0
  282. package/.output/server/node_modules/cpu-features/lib/index.js +5 -0
  283. package/.output/server/node_modules/cpu-features/package.json +40 -0
  284. package/.output/server/node_modules/denque/index.js +481 -0
  285. package/.output/server/node_modules/denque/package.json +58 -0
  286. package/.output/server/node_modules/generate-function/index.js +181 -0
  287. package/.output/server/node_modules/generate-function/package.json +32 -0
  288. package/.output/server/node_modules/iconv-lite/encodings/dbcs-codec.js +532 -0
  289. package/.output/server/node_modules/iconv-lite/encodings/dbcs-data.js +185 -0
  290. package/.output/server/node_modules/iconv-lite/encodings/index.js +23 -0
  291. package/.output/server/node_modules/iconv-lite/encodings/internal.js +218 -0
  292. package/.output/server/node_modules/iconv-lite/encodings/sbcs-codec.js +75 -0
  293. package/.output/server/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  294. package/.output/server/node_modules/iconv-lite/encodings/sbcs-data.js +178 -0
  295. package/.output/server/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  296. package/.output/server/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  297. package/.output/server/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  298. package/.output/server/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  299. package/.output/server/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  300. package/.output/server/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  301. package/.output/server/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
  302. package/.output/server/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  303. package/.output/server/node_modules/iconv-lite/encodings/utf16.js +187 -0
  304. package/.output/server/node_modules/iconv-lite/encodings/utf32.js +307 -0
  305. package/.output/server/node_modules/iconv-lite/encodings/utf7.js +283 -0
  306. package/.output/server/node_modules/iconv-lite/lib/bom-handling.js +48 -0
  307. package/.output/server/node_modules/iconv-lite/lib/helpers/merge-exports.js +13 -0
  308. package/.output/server/node_modules/iconv-lite/lib/index.js +182 -0
  309. package/.output/server/node_modules/iconv-lite/lib/streams.js +105 -0
  310. package/.output/server/node_modules/iconv-lite/package.json +70 -0
  311. package/.output/server/node_modules/is-property/is-property.js +5 -0
  312. package/.output/server/node_modules/is-property/package.json +36 -0
  313. package/.output/server/node_modules/long/package.json +58 -0
  314. package/.output/server/node_modules/long/umd/index.js +1622 -0
  315. package/.output/server/node_modules/long/umd/package.json +3 -0
  316. package/.output/server/node_modules/lru.min/lib/index.js +248 -0
  317. package/.output/server/node_modules/lru.min/package.json +87 -0
  318. package/.output/server/node_modules/mysql2/index.js +77 -0
  319. package/.output/server/node_modules/mysql2/lib/auth_41.js +95 -0
  320. package/.output/server/node_modules/mysql2/lib/auth_plugins/caching_sha2_password.js +115 -0
  321. package/.output/server/node_modules/mysql2/lib/auth_plugins/index.js +8 -0
  322. package/.output/server/node_modules/mysql2/lib/auth_plugins/mysql_clear_password.js +17 -0
  323. package/.output/server/node_modules/mysql2/lib/auth_plugins/mysql_native_password.js +34 -0
  324. package/.output/server/node_modules/mysql2/lib/auth_plugins/sha256_password.js +74 -0
  325. package/.output/server/node_modules/mysql2/lib/base/connection.js +1139 -0
  326. package/.output/server/node_modules/mysql2/lib/base/pool.js +343 -0
  327. package/.output/server/node_modules/mysql2/lib/commands/auth_switch.js +151 -0
  328. package/.output/server/node_modules/mysql2/lib/commands/binlog_dump.js +109 -0
  329. package/.output/server/node_modules/mysql2/lib/commands/change_user.js +68 -0
  330. package/.output/server/node_modules/mysql2/lib/commands/client_handshake.js +386 -0
  331. package/.output/server/node_modules/mysql2/lib/commands/close_statement.js +18 -0
  332. package/.output/server/node_modules/mysql2/lib/commands/command.js +54 -0
  333. package/.output/server/node_modules/mysql2/lib/commands/execute.js +116 -0
  334. package/.output/server/node_modules/mysql2/lib/commands/index.js +29 -0
  335. package/.output/server/node_modules/mysql2/lib/commands/ping.js +36 -0
  336. package/.output/server/node_modules/mysql2/lib/commands/prepare.js +143 -0
  337. package/.output/server/node_modules/mysql2/lib/commands/query.js +365 -0
  338. package/.output/server/node_modules/mysql2/lib/commands/quit.js +29 -0
  339. package/.output/server/node_modules/mysql2/lib/commands/register_slave.js +27 -0
  340. package/.output/server/node_modules/mysql2/lib/commands/reset_connection.js +29 -0
  341. package/.output/server/node_modules/mysql2/lib/commands/server_handshake.js +205 -0
  342. package/.output/server/node_modules/mysql2/lib/compressed_protocol.js +153 -0
  343. package/.output/server/node_modules/mysql2/lib/connection.js +12 -0
  344. package/.output/server/node_modules/mysql2/lib/connection_config.js +299 -0
  345. package/.output/server/node_modules/mysql2/lib/constants/charset_encodings.js +317 -0
  346. package/.output/server/node_modules/mysql2/lib/constants/charsets.js +317 -0
  347. package/.output/server/node_modules/mysql2/lib/constants/client.js +39 -0
  348. package/.output/server/node_modules/mysql2/lib/constants/commands.js +37 -0
  349. package/.output/server/node_modules/mysql2/lib/constants/cursor.js +9 -0
  350. package/.output/server/node_modules/mysql2/lib/constants/encoding_charset.js +50 -0
  351. package/.output/server/node_modules/mysql2/lib/constants/errors.js +3973 -0
  352. package/.output/server/node_modules/mysql2/lib/constants/field_flags.js +20 -0
  353. package/.output/server/node_modules/mysql2/lib/constants/server_status.js +44 -0
  354. package/.output/server/node_modules/mysql2/lib/constants/session_track.js +11 -0
  355. package/.output/server/node_modules/mysql2/lib/constants/ssl_profiles.js +11 -0
  356. package/.output/server/node_modules/mysql2/lib/constants/types.js +64 -0
  357. package/.output/server/node_modules/mysql2/lib/create_connection.js +10 -0
  358. package/.output/server/node_modules/mysql2/lib/create_pool.js +10 -0
  359. package/.output/server/node_modules/mysql2/lib/create_pool_cluster.js +9 -0
  360. package/.output/server/node_modules/mysql2/lib/helpers.js +83 -0
  361. package/.output/server/node_modules/mysql2/lib/packet_parser.js +195 -0
  362. package/.output/server/node_modules/mysql2/lib/packets/auth_next_factor.js +35 -0
  363. package/.output/server/node_modules/mysql2/lib/packets/auth_switch_request.js +38 -0
  364. package/.output/server/node_modules/mysql2/lib/packets/auth_switch_request_more_data.js +33 -0
  365. package/.output/server/node_modules/mysql2/lib/packets/auth_switch_response.js +30 -0
  366. package/.output/server/node_modules/mysql2/lib/packets/binary_row.js +95 -0
  367. package/.output/server/node_modules/mysql2/lib/packets/binlog_dump.js +33 -0
  368. package/.output/server/node_modules/mysql2/lib/packets/binlog_query_statusvars.js +115 -0
  369. package/.output/server/node_modules/mysql2/lib/packets/change_user.js +97 -0
  370. package/.output/server/node_modules/mysql2/lib/packets/close_statement.js +21 -0
  371. package/.output/server/node_modules/mysql2/lib/packets/column_definition.js +291 -0
  372. package/.output/server/node_modules/mysql2/lib/packets/encode_parameter.js +69 -0
  373. package/.output/server/node_modules/mysql2/lib/packets/execute.js +177 -0
  374. package/.output/server/node_modules/mysql2/lib/packets/handshake.js +112 -0
  375. package/.output/server/node_modules/mysql2/lib/packets/handshake_response.js +173 -0
  376. package/.output/server/node_modules/mysql2/lib/packets/index.js +154 -0
  377. package/.output/server/node_modules/mysql2/lib/packets/packet.js +978 -0
  378. package/.output/server/node_modules/mysql2/lib/packets/prepare_statement.js +27 -0
  379. package/.output/server/node_modules/mysql2/lib/packets/prepared_statement_header.js +16 -0
  380. package/.output/server/node_modules/mysql2/lib/packets/query.js +102 -0
  381. package/.output/server/node_modules/mysql2/lib/packets/register_slave.js +46 -0
  382. package/.output/server/node_modules/mysql2/lib/packets/reset_connection.js +17 -0
  383. package/.output/server/node_modules/mysql2/lib/packets/resultset_header.js +124 -0
  384. package/.output/server/node_modules/mysql2/lib/packets/ssl_request.js +25 -0
  385. package/.output/server/node_modules/mysql2/lib/packets/text_row.js +47 -0
  386. package/.output/server/node_modules/mysql2/lib/parsers/binary_parser.js +235 -0
  387. package/.output/server/node_modules/mysql2/lib/parsers/parser_cache.js +68 -0
  388. package/.output/server/node_modules/mysql2/lib/parsers/static_binary_parser.js +213 -0
  389. package/.output/server/node_modules/mysql2/lib/parsers/static_text_parser.js +152 -0
  390. package/.output/server/node_modules/mysql2/lib/parsers/string.js +50 -0
  391. package/.output/server/node_modules/mysql2/lib/parsers/text_parser.js +214 -0
  392. package/.output/server/node_modules/mysql2/lib/pool.js +12 -0
  393. package/.output/server/node_modules/mysql2/lib/pool_cluster.js +375 -0
  394. package/.output/server/node_modules/mysql2/lib/pool_config.js +34 -0
  395. package/.output/server/node_modules/mysql2/lib/pool_connection.js +81 -0
  396. package/.output/server/node_modules/mysql2/lib/promise/capture_local_err.js +25 -0
  397. package/.output/server/node_modules/mysql2/lib/promise/connection.js +237 -0
  398. package/.output/server/node_modules/mysql2/lib/promise/inherit_events.js +27 -0
  399. package/.output/server/node_modules/mysql2/lib/promise/make_done_cb.js +16 -0
  400. package/.output/server/node_modules/mysql2/lib/promise/pool.js +118 -0
  401. package/.output/server/node_modules/mysql2/lib/promise/pool_cluster.js +59 -0
  402. package/.output/server/node_modules/mysql2/lib/promise/pool_connection.js +19 -0
  403. package/.output/server/node_modules/mysql2/lib/promise/prepared_statement_info.js +35 -0
  404. package/.output/server/node_modules/mysql2/lib/server.js +37 -0
  405. package/.output/server/node_modules/mysql2/lib/tracing.js +81 -0
  406. package/.output/server/node_modules/mysql2/package.json +95 -0
  407. package/.output/server/node_modules/mysql2/promise.js +209 -0
  408. package/.output/server/node_modules/named-placeholders/index.js +179 -0
  409. package/.output/server/node_modules/named-placeholders/package.json +36 -0
  410. package/.output/server/node_modules/oracledb/index.js +27 -0
  411. package/.output/server/node_modules/oracledb/lib/aqDeqOptions.js +186 -0
  412. package/.output/server/node_modules/oracledb/lib/aqEnqOptions.js +81 -0
  413. package/.output/server/node_modules/oracledb/lib/aqMessage.js +149 -0
  414. package/.output/server/node_modules/oracledb/lib/aqQueue.js +293 -0
  415. package/.output/server/node_modules/oracledb/lib/connection.js +1842 -0
  416. package/.output/server/node_modules/oracledb/lib/constants.js +210 -0
  417. package/.output/server/node_modules/oracledb/lib/dbObject.js +606 -0
  418. package/.output/server/node_modules/oracledb/lib/errors.js +1046 -0
  419. package/.output/server/node_modules/oracledb/lib/future.js +53 -0
  420. package/.output/server/node_modules/oracledb/lib/impl/aqDeqOptions.js +206 -0
  421. package/.output/server/node_modules/oracledb/lib/impl/aqEnqOptions.js +89 -0
  422. package/.output/server/node_modules/oracledb/lib/impl/aqMessage.js +134 -0
  423. package/.output/server/node_modules/oracledb/lib/impl/aqQueue.js +82 -0
  424. package/.output/server/node_modules/oracledb/lib/impl/base.js +45 -0
  425. package/.output/server/node_modules/oracledb/lib/impl/connection.js +671 -0
  426. package/.output/server/node_modules/oracledb/lib/impl/datahandlers/buffer.js +1214 -0
  427. package/.output/server/node_modules/oracledb/lib/impl/datahandlers/constants.js +110 -0
  428. package/.output/server/node_modules/oracledb/lib/impl/datahandlers/oson.js +852 -0
  429. package/.output/server/node_modules/oracledb/lib/impl/datahandlers/vector.js +197 -0
  430. package/.output/server/node_modules/oracledb/lib/impl/dbObject.js +159 -0
  431. package/.output/server/node_modules/oracledb/lib/impl/index.js +59 -0
  432. package/.output/server/node_modules/oracledb/lib/impl/lob.js +113 -0
  433. package/.output/server/node_modules/oracledb/lib/impl/pool.js +230 -0
  434. package/.output/server/node_modules/oracledb/lib/impl/resultset.js +307 -0
  435. package/.output/server/node_modules/oracledb/lib/impl/sodaCollection.js +175 -0
  436. package/.output/server/node_modules/oracledb/lib/impl/sodaDatabase.js +82 -0
  437. package/.output/server/node_modules/oracledb/lib/impl/sodaDocCursor.js +64 -0
  438. package/.output/server/node_modules/oracledb/lib/impl/sodaDocument.js +89 -0
  439. package/.output/server/node_modules/oracledb/lib/impl/sodaOperation.js +110 -0
  440. package/.output/server/node_modules/oracledb/lib/lob.js +315 -0
  441. package/.output/server/node_modules/oracledb/lib/oracledb.js +1716 -0
  442. package/.output/server/node_modules/oracledb/lib/pool.js +873 -0
  443. package/.output/server/node_modules/oracledb/lib/poolStatistics.js +143 -0
  444. package/.output/server/node_modules/oracledb/lib/queryStream.js +119 -0
  445. package/.output/server/node_modules/oracledb/lib/resultset.js +368 -0
  446. package/.output/server/node_modules/oracledb/lib/settings.js +221 -0
  447. package/.output/server/node_modules/oracledb/lib/sodaCollection.js +284 -0
  448. package/.output/server/node_modules/oracledb/lib/sodaDatabase.js +176 -0
  449. package/.output/server/node_modules/oracledb/lib/sodaDocCursor.js +82 -0
  450. package/.output/server/node_modules/oracledb/lib/sodaDocument.js +125 -0
  451. package/.output/server/node_modules/oracledb/lib/sodaOperation.js +236 -0
  452. package/.output/server/node_modules/oracledb/lib/thin/aq.js +475 -0
  453. package/.output/server/node_modules/oracledb/lib/thin/connection.js +1504 -0
  454. package/.output/server/node_modules/oracledb/lib/thin/dbObject.js +737 -0
  455. package/.output/server/node_modules/oracledb/lib/thin/index.js +40 -0
  456. package/.output/server/node_modules/oracledb/lib/thin/lob.js +380 -0
  457. package/.output/server/node_modules/oracledb/lib/thin/pool.js +738 -0
  458. package/.output/server/node_modules/oracledb/lib/thin/protocol/capabilities.js +145 -0
  459. package/.output/server/node_modules/oracledb/lib/thin/protocol/constants.js +872 -0
  460. package/.output/server/node_modules/oracledb/lib/thin/protocol/encryptDecrypt.js +197 -0
  461. package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/aqArray.js +238 -0
  462. package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/aqBase.js +305 -0
  463. package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/aqDeq.js +164 -0
  464. package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/aqEnq.js +135 -0
  465. package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/auth.js +376 -0
  466. package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/base.js +568 -0
  467. package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/commit.js +56 -0
  468. package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/dataType.js +401 -0
  469. package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/execute.js +358 -0
  470. package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/fastAuth.js +83 -0
  471. package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/fetch.js +64 -0
  472. package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/index.js +59 -0
  473. package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/lobOp.js +195 -0
  474. package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/logOff.js +52 -0
  475. package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/ping.js +56 -0
  476. package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/protocol.js +97 -0
  477. package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/rollback.js +56 -0
  478. package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/sessionRelease.js +60 -0
  479. package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/transactionChangeState.js +99 -0
  480. package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/transactionSwitch.js +147 -0
  481. package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/withData.js +920 -0
  482. package/.output/server/node_modules/oracledb/lib/thin/protocol/packet.js +631 -0
  483. package/.output/server/node_modules/oracledb/lib/thin/protocol/protocol.js +240 -0
  484. package/.output/server/node_modules/oracledb/lib/thin/protocol/utils.js +82 -0
  485. package/.output/server/node_modules/oracledb/lib/thin/resultSet.js +122 -0
  486. package/.output/server/node_modules/oracledb/lib/thin/sqlnet/ANO.js +438 -0
  487. package/.output/server/node_modules/oracledb/lib/thin/sqlnet/connStrategy.js +316 -0
  488. package/.output/server/node_modules/oracledb/lib/thin/sqlnet/constants.js +210 -0
  489. package/.output/server/node_modules/oracledb/lib/thin/sqlnet/ezConnectResolver.js +466 -0
  490. package/.output/server/node_modules/oracledb/lib/thin/sqlnet/navNodes.js +904 -0
  491. package/.output/server/node_modules/oracledb/lib/thin/sqlnet/networkSession.js +733 -0
  492. package/.output/server/node_modules/oracledb/lib/thin/sqlnet/ntTcp.js +609 -0
  493. package/.output/server/node_modules/oracledb/lib/thin/sqlnet/nvStrToNvPair.js +780 -0
  494. package/.output/server/node_modules/oracledb/lib/thin/sqlnet/packet.js +439 -0
  495. package/.output/server/node_modules/oracledb/lib/thin/sqlnet/paramParser.js +239 -0
  496. package/.output/server/node_modules/oracledb/lib/thin/sqlnet/sessionAtts.js +198 -0
  497. package/.output/server/node_modules/oracledb/lib/thin/statement.js +573 -0
  498. package/.output/server/node_modules/oracledb/lib/thin/statementCache.js +195 -0
  499. package/.output/server/node_modules/oracledb/lib/thin/util.js +254 -0
  500. package/.output/server/node_modules/oracledb/lib/traceHandler.js +133 -0
  501. package/.output/server/node_modules/oracledb/lib/transformer.js +279 -0
  502. package/.output/server/node_modules/oracledb/lib/types.js +592 -0
  503. package/.output/server/node_modules/oracledb/lib/util.js +648 -0
  504. package/.output/server/node_modules/oracledb/lib/version.js +36 -0
  505. package/.output/server/node_modules/oracledb/package.json +48 -0
  506. package/.output/server/node_modules/sql-escaper/lib/index.js +398 -0
  507. package/.output/server/node_modules/sql-escaper/package.json +81 -0
  508. package/.output/server/node_modules/sqlite3/build/Release/node_sqlite3.node +0 -0
  509. package/.output/server/node_modules/ssh2/lib/protocol/crypto/build/Release/sshcrypto.node +0 -0
  510. package/.output/server/package.json +14 -18
  511. package/package.json +2 -2
  512. package/.output/public/_nuxt/019vQzZn.js +0 -1
  513. package/.output/public/_nuxt/0lRW_xjL.js +0 -1
  514. package/.output/public/_nuxt/B6EI6PpE.js +0 -1
  515. package/.output/public/_nuxt/B9Mt45db.js +0 -1
  516. package/.output/public/_nuxt/BKltSiU0.js +0 -1
  517. package/.output/public/_nuxt/BM4vnZvX.js +0 -732
  518. package/.output/public/_nuxt/BNYR501z.js +0 -1
  519. package/.output/public/_nuxt/BVLVn__t.js +0 -9
  520. package/.output/public/_nuxt/BY1l0S_M.js +0 -1
  521. package/.output/public/_nuxt/BaseCodeEditor.SAr2eD8R.css +0 -1
  522. package/.output/public/_nuxt/BcvJQkv0.js +0 -1
  523. package/.output/public/_nuxt/BdN9B2_l.js +0 -160
  524. package/.output/public/_nuxt/BflvengI.js +0 -1
  525. package/.output/public/_nuxt/BgolbRTO.js +0 -1
  526. package/.output/public/_nuxt/BwISH3M4.js +0 -1
  527. package/.output/public/_nuxt/C-M4q4KX.js +0 -1
  528. package/.output/public/_nuxt/C2Ziircr.js +0 -1
  529. package/.output/public/_nuxt/C3NWXcpd.js +0 -39
  530. package/.output/public/_nuxt/C5p44jKD.js +0 -1
  531. package/.output/public/_nuxt/C617vhDd.js +0 -1
  532. package/.output/public/_nuxt/C8S0o4Gy.js +0 -1
  533. package/.output/public/_nuxt/CNlsVoWh.js +0 -1
  534. package/.output/public/_nuxt/CWkPMmwS.js +0 -2
  535. package/.output/public/_nuxt/Cgy4ijjN.js +0 -67
  536. package/.output/public/_nuxt/ClBBUcFW.js +0 -1
  537. package/.output/public/_nuxt/CuRyxljq.js +0 -1
  538. package/.output/public/_nuxt/Cx4Bnfq1.js +0 -2
  539. package/.output/public/_nuxt/D-H6_V16.js +0 -1
  540. package/.output/public/_nuxt/D-SDqguC.js +0 -1
  541. package/.output/public/_nuxt/D-XwprNU.js +0 -6
  542. package/.output/public/_nuxt/D3G5Xy_-.js +0 -1
  543. package/.output/public/_nuxt/D9o5Pdvp.js +0 -1
  544. package/.output/public/_nuxt/DFArp87o.js +0 -1
  545. package/.output/public/_nuxt/DFZIXzfU.js +0 -1
  546. package/.output/public/_nuxt/DHRNt0p9.js +0 -1
  547. package/.output/public/_nuxt/DLKku6fV.js +0 -1
  548. package/.output/public/_nuxt/DWgjNKGq.js +0 -152
  549. package/.output/public/_nuxt/DYm57BZk.js +0 -2
  550. package/.output/public/_nuxt/DaQw8gVp.js +0 -1
  551. package/.output/public/_nuxt/DgnsV5Qb.js +0 -1
  552. package/.output/public/_nuxt/Do5Fyo7J.js +0 -1
  553. package/.output/public/_nuxt/Dqirx7MF.js +0 -1
  554. package/.output/public/_nuxt/GoTwJjoS.js +0 -39
  555. package/.output/public/_nuxt/Hs25HoUO.js +0 -22
  556. package/.output/public/_nuxt/J2CvNR3L.js +0 -1
  557. package/.output/public/_nuxt/LK6Q8l0D.js +0 -1
  558. package/.output/public/_nuxt/Oh9SO2qg.js +0 -1
  559. package/.output/public/_nuxt/P_8UoGnr.js +0 -72
  560. package/.output/public/_nuxt/V5yaR3hv.js +0 -2
  561. package/.output/public/_nuxt/XWTuAj6n.js +0 -1
  562. package/.output/public/_nuxt/XqwbcqcW.js +0 -1
  563. package/.output/public/_nuxt/Yzrsuije.js +0 -1
  564. package/.output/public/_nuxt/_8UrUcVF.js +0 -1
  565. package/.output/public/_nuxt/builds/meta/27a307c3-bfc5-4ccd-94b8-387eb94981bb.json +0 -1
  566. package/.output/public/_nuxt/cKBf5-av.js +0 -1
  567. package/.output/public/_nuxt/entry.DeK5kcSi.css +0 -1
  568. package/.output/public/_nuxt/kc-op4gz.js +0 -12
  569. package/.output/public/_nuxt/kehy-5uo.js +0 -1
  570. package/.output/public/_nuxt/lSaGvORn.js +0 -10
  571. package/.output/public/_nuxt/lY3EyFEK.js +0 -1
  572. package/.output/public/_nuxt/tMhdAKU2.js +0 -3
  573. package/.output/public/_nuxt/uyCIL8xw.js +0 -1
  574. package/.output/server/node_modules/cross-spawn/index.js +0 -39
  575. package/.output/server/node_modules/cross-spawn/lib/enoent.js +0 -59
  576. package/.output/server/node_modules/cross-spawn/lib/parse.js +0 -91
  577. package/.output/server/node_modules/cross-spawn/lib/util/escape.js +0 -47
  578. package/.output/server/node_modules/cross-spawn/lib/util/readShebang.js +0 -23
  579. package/.output/server/node_modules/cross-spawn/lib/util/resolveCommand.js +0 -52
  580. package/.output/server/node_modules/cross-spawn/package.json +0 -73
  581. package/.output/server/node_modules/execa/index.js +0 -268
  582. package/.output/server/node_modules/execa/lib/command.js +0 -52
  583. package/.output/server/node_modules/execa/lib/error.js +0 -88
  584. package/.output/server/node_modules/execa/lib/kill.js +0 -115
  585. package/.output/server/node_modules/execa/lib/promise.js +0 -46
  586. package/.output/server/node_modules/execa/lib/stdio.js +0 -52
  587. package/.output/server/node_modules/execa/lib/stream.js +0 -97
  588. package/.output/server/node_modules/execa/package.json +0 -74
  589. package/.output/server/node_modules/get-stream/buffer-stream.js +0 -52
  590. package/.output/server/node_modules/get-stream/index.js +0 -61
  591. package/.output/server/node_modules/get-stream/package.json +0 -47
  592. package/.output/server/node_modules/human-signals/build/src/core.js +0 -273
  593. package/.output/server/node_modules/human-signals/build/src/main.js +0 -71
  594. package/.output/server/node_modules/human-signals/build/src/realtime.js +0 -19
  595. package/.output/server/node_modules/human-signals/build/src/signals.js +0 -35
  596. package/.output/server/node_modules/human-signals/package.json +0 -64
  597. package/.output/server/node_modules/is-stream/index.js +0 -28
  598. package/.output/server/node_modules/is-stream/package.json +0 -42
  599. package/.output/server/node_modules/isexe/index.js +0 -57
  600. package/.output/server/node_modules/isexe/mode.js +0 -41
  601. package/.output/server/node_modules/isexe/package.json +0 -31
  602. package/.output/server/node_modules/isexe/windows.js +0 -42
  603. package/.output/server/node_modules/merge-stream/index.js +0 -41
  604. package/.output/server/node_modules/merge-stream/package.json +0 -19
  605. package/.output/server/node_modules/mimic-fn/index.js +0 -13
  606. package/.output/server/node_modules/mimic-fn/package.json +0 -42
  607. package/.output/server/node_modules/npm-run-path/index.js +0 -47
  608. package/.output/server/node_modules/npm-run-path/package.json +0 -44
  609. package/.output/server/node_modules/onetime/index.js +0 -44
  610. package/.output/server/node_modules/onetime/package.json +0 -43
  611. package/.output/server/node_modules/path-key/index.js +0 -16
  612. package/.output/server/node_modules/path-key/package.json +0 -39
  613. package/.output/server/node_modules/pg-dump-restore/lib/common.js +0 -33
  614. package/.output/server/node_modules/pg-dump-restore/lib/index.js +0 -9
  615. package/.output/server/node_modules/pg-dump-restore/lib/pg-dump.js +0 -95
  616. package/.output/server/node_modules/pg-dump-restore/lib/pg-restore.js +0 -87
  617. package/.output/server/node_modules/pg-dump-restore/package.json +0 -66
  618. package/.output/server/node_modules/shebang-command/index.js +0 -19
  619. package/.output/server/node_modules/shebang-command/package.json +0 -34
  620. package/.output/server/node_modules/shebang-regex/index.js +0 -2
  621. package/.output/server/node_modules/shebang-regex/package.json +0 -35
  622. package/.output/server/node_modules/signal-exit/index.js +0 -202
  623. package/.output/server/node_modules/signal-exit/package.json +0 -38
  624. package/.output/server/node_modules/signal-exit/signals.js +0 -53
  625. package/.output/server/node_modules/strip-final-newline/index.js +0 -16
  626. package/.output/server/node_modules/strip-final-newline/package.json +0 -40
  627. package/.output/server/node_modules/which/package.json +0 -43
  628. 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
+ };