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,1139 @@
1
+ // This file was modified by Oracle on June 1, 2021.
2
+ // The changes involve new logic to handle an additional ERR Packet sent by
3
+ // the MySQL server when the connection is closed unexpectedly.
4
+ // Modifications copyright (c) 2021, Oracle and/or its affiliates.
5
+
6
+ // This file was modified by Oracle on June 17, 2021.
7
+ // The changes involve logic to ensure the socket connection is closed when
8
+ // there is a fatal error.
9
+ // Modifications copyright (c) 2021, Oracle and/or its affiliates.
10
+
11
+ // This file was modified by Oracle on September 21, 2021.
12
+ // The changes involve passing additional authentication factor passwords
13
+ // to the ChangeUser Command instance.
14
+ // Modifications copyright (c) 2021, Oracle and/or its affiliates.
15
+
16
+ 'use strict';
17
+
18
+ const Net = require('net');
19
+ const Tls = require('tls');
20
+ const Timers = require('timers');
21
+ const EventEmitter = require('events').EventEmitter;
22
+ const Readable = require('stream').Readable;
23
+ const Queue = require('denque');
24
+ const SqlString = require('sql-escaper');
25
+ const { createLRU } = require('lru.min');
26
+ const PacketParser = require('../packet_parser.js');
27
+ const Packets = require('../packets/index.js');
28
+ const Commands = require('../commands/index.js');
29
+ const ConnectionConfig = require('../connection_config.js');
30
+ const CharsetToEncoding = require('../constants/charset_encodings.js');
31
+ const {
32
+ traceCallback,
33
+ tracePromise,
34
+ getServerContext,
35
+ shouldTrace,
36
+ queryChannel,
37
+ executeChannel,
38
+ connectChannel,
39
+ } = require('../tracing.js');
40
+
41
+ let _connectionId = 0;
42
+
43
+ let convertNamedPlaceholders = null;
44
+
45
+ class BaseConnection extends EventEmitter {
46
+ constructor(opts) {
47
+ super();
48
+ this.config = opts.config;
49
+ // TODO: fill defaults
50
+ // if no params, connect to /var/lib/mysql/mysql.sock ( /tmp/mysql.sock on OSX )
51
+ // if host is given, connect to host:3306
52
+ // TODO: use `/usr/local/mysql/bin/mysql_config --socket` output? as default socketPath
53
+ // if there is no host/port and no socketPath parameters?
54
+ if (!opts.config.stream) {
55
+ if (opts.config.socketPath) {
56
+ this.stream = Net.connect(opts.config.socketPath);
57
+ } else {
58
+ this.stream = Net.connect(opts.config.port, opts.config.host);
59
+
60
+ // Optionally enable keep-alive on the socket.
61
+ if (this.config.enableKeepAlive) {
62
+ this.stream.on('connect', () => {
63
+ this.stream.setKeepAlive(true, this.config.keepAliveInitialDelay);
64
+ });
65
+ }
66
+
67
+ // Enable TCP_NODELAY flag. This is needed so that the network packets
68
+ // are sent immediately to the server
69
+ this.stream.setNoDelay(true);
70
+ }
71
+ // if stream is a function, treat it as "stream agent / factory"
72
+ } else if (typeof opts.config.stream === 'function') {
73
+ this.stream = opts.config.stream(opts);
74
+ } else {
75
+ this.stream = opts.config.stream;
76
+ }
77
+
78
+ this._internalId = _connectionId++;
79
+ this._commands = new Queue();
80
+ this._command = null;
81
+ this._paused = false;
82
+ this._paused_packets = new Queue();
83
+ this._statements = createLRU({
84
+ max: this.config.maxPreparedStatements,
85
+ onEviction: function (_, statement) {
86
+ statement.close();
87
+ },
88
+ });
89
+ this.serverCapabilityFlags = 0;
90
+ this.authorized = false;
91
+ this.sequenceId = 0;
92
+ this.compressedSequenceId = 0;
93
+ this.threadId = null;
94
+ this._handshakePacket = null;
95
+ this._fatalError = null;
96
+ this._protocolError = null;
97
+ this._outOfOrderPackets = [];
98
+ this.clientEncoding = CharsetToEncoding[this.config.charsetNumber];
99
+ this.stream.on('error', this._handleNetworkError.bind(this));
100
+ // see https://gist.github.com/khoomeister/4985691#use-that-instead-of-bind
101
+ this.packetParser = new PacketParser((p) => {
102
+ this.handlePacket(p);
103
+ });
104
+ this.stream.on('data', (data) => {
105
+ if (this.connectTimeout) {
106
+ Timers.clearTimeout(this.connectTimeout);
107
+ this.connectTimeout = null;
108
+ }
109
+ this.packetParser.execute(data);
110
+ });
111
+ this.stream.on('end', () => {
112
+ // emit the end event so that the pooled connection can close the connection
113
+ this.emit('end');
114
+ });
115
+ this.stream.on('close', () => {
116
+ // we need to set this flag everywhere where we want connection to close
117
+ if (this._closing) {
118
+ return;
119
+ }
120
+ if (!this._protocolError) {
121
+ // no particular error message before disconnect
122
+ this._protocolError = new Error(
123
+ 'Connection lost: The server closed the connection.'
124
+ );
125
+ this._protocolError.fatal = true;
126
+ this._protocolError.code = 'PROTOCOL_CONNECTION_LOST';
127
+ }
128
+ this._notifyError(this._protocolError);
129
+ });
130
+ let handshakeCommand;
131
+ if (!this.config.isServer) {
132
+ handshakeCommand = new Commands.ClientHandshake(this.config.clientFlags);
133
+ handshakeCommand.on('end', () => {
134
+ // this happens when handshake finishes early either because there was
135
+ // some fatal error or the server sent an error packet instead of
136
+ // an hello packet (for example, 'Too many connections' error)
137
+ if (
138
+ !handshakeCommand.handshake ||
139
+ this._fatalError ||
140
+ this._protocolError
141
+ ) {
142
+ return;
143
+ }
144
+ this._handshakePacket = handshakeCommand.handshake;
145
+ this.threadId = handshakeCommand.handshake.connectionId;
146
+ this.emit('connect', handshakeCommand.handshake);
147
+ });
148
+ handshakeCommand.on('error', (err) => {
149
+ this._closing = true;
150
+ this._notifyError(err);
151
+ });
152
+ this.addCommand(handshakeCommand);
153
+
154
+ // Trace the connection handshake
155
+ if (shouldTrace(connectChannel)) {
156
+ const config = this.config;
157
+ tracePromise(
158
+ connectChannel,
159
+ () =>
160
+ new Promise((resolve, reject) => {
161
+ /* eslint-disable prefer-const */
162
+ let onConnect, onError;
163
+ onConnect = (param) => {
164
+ this.removeListener('error', onError);
165
+ resolve(param);
166
+ };
167
+ onError = (err) => {
168
+ this.removeListener('connect', onConnect);
169
+ reject(err);
170
+ };
171
+ /* eslint-enable prefer-const */
172
+ this.once('connect', onConnect);
173
+ this.once('error', onError);
174
+ }),
175
+ () => {
176
+ const server = getServerContext(config);
177
+ return {
178
+ database: config.database || '',
179
+ serverAddress: server.serverAddress,
180
+ serverPort: server.serverPort,
181
+ user: config.user || '',
182
+ };
183
+ }
184
+ ).catch(() => {
185
+ // errors are already handled by the handshake error listener
186
+ });
187
+ }
188
+ }
189
+ // in case there was no initial handshake but we need to read sting, assume it utf-8
190
+ // most common example: "Too many connections" error ( packet is sent immediately on connection attempt, we don't know server encoding yet)
191
+ // will be overwritten with actual encoding value as soon as server handshake packet is received
192
+ this.serverEncoding = 'utf8';
193
+ if (this.config.connectTimeout) {
194
+ const timeoutHandler = this._handleTimeoutError.bind(this);
195
+ this.connectTimeout = Timers.setTimeout(
196
+ timeoutHandler,
197
+ this.config.connectTimeout
198
+ );
199
+ }
200
+ }
201
+
202
+ _addCommandClosedState(cmd) {
203
+ const err = new Error(
204
+ "Can't add new command when connection is in closed state"
205
+ );
206
+ err.fatal = true;
207
+ if (cmd.onResult) {
208
+ cmd.onResult(err);
209
+ } else {
210
+ this.emit('error', err);
211
+ }
212
+ }
213
+
214
+ _handleFatalError(err) {
215
+ err.fatal = true;
216
+ // stop receiving packets
217
+ this.stream.removeAllListeners('data');
218
+ this.addCommand = this._addCommandClosedState;
219
+ this.write = () => {
220
+ this.emit('error', new Error("Can't write in closed state"));
221
+ };
222
+ this._notifyError(err);
223
+ this._fatalError = err;
224
+ }
225
+
226
+ _handleNetworkError(err) {
227
+ if (this.connectTimeout) {
228
+ Timers.clearTimeout(this.connectTimeout);
229
+ this.connectTimeout = null;
230
+ }
231
+ // Do not throw an error when a connection ends with a RST,ACK packet
232
+ if (err.code === 'ECONNRESET' && this._closing) {
233
+ return;
234
+ }
235
+ this._handleFatalError(err);
236
+ }
237
+
238
+ _handleTimeoutError() {
239
+ if (this.connectTimeout) {
240
+ Timers.clearTimeout(this.connectTimeout);
241
+ this.connectTimeout = null;
242
+ }
243
+ this.stream.destroy && this.stream.destroy();
244
+ const err = new Error('connect ETIMEDOUT');
245
+ err.errorno = 'ETIMEDOUT';
246
+ err.code = 'ETIMEDOUT';
247
+ err.syscall = 'connect';
248
+ this._handleNetworkError(err);
249
+ }
250
+
251
+ // notify all commands in the queue and bubble error as connection "error"
252
+ // called on stream error or unexpected termination
253
+ _notifyError(err) {
254
+ if (this.connectTimeout) {
255
+ Timers.clearTimeout(this.connectTimeout);
256
+ this.connectTimeout = null;
257
+ }
258
+ // prevent from emitting 'PROTOCOL_CONNECTION_LOST' after EPIPE or ECONNRESET
259
+ if (this._fatalError) {
260
+ return;
261
+ }
262
+ let command;
263
+ // if there is no active command, notify connection
264
+ // if there are commands and all of them have callbacks, pass error via callback
265
+ let bubbleErrorToConnection = !this._command;
266
+ if (this._command && this._command.onResult) {
267
+ this._command.onResult(err);
268
+ this._command = null;
269
+ // connection handshake is special because we allow it to be implicit
270
+ // if error happened during handshake, but there are others commands in queue
271
+ // then bubble error to other commands and not to connection
272
+ } else if (
273
+ !(
274
+ this._command &&
275
+ this._command.constructor === Commands.ClientHandshake &&
276
+ this._commands.length > 0
277
+ )
278
+ ) {
279
+ bubbleErrorToConnection = true;
280
+ }
281
+ while ((command = this._commands.shift())) {
282
+ if (command.onResult) {
283
+ command.onResult(err);
284
+ } else {
285
+ bubbleErrorToConnection = true;
286
+ }
287
+ }
288
+ // notify connection if some comands in the queue did not have callbacks
289
+ // or if this is pool connection ( so it can be removed from pool )
290
+ if (bubbleErrorToConnection || this._pool) {
291
+ this.emit('error', err);
292
+ }
293
+ // close connection after emitting the event in case of a fatal error
294
+ if (err.fatal) {
295
+ this.close();
296
+ }
297
+ }
298
+
299
+ write(buffer) {
300
+ const result = this.stream.write(buffer, (err) => {
301
+ if (err) {
302
+ this._handleNetworkError(err);
303
+ }
304
+ });
305
+
306
+ if (!result) {
307
+ this.stream.emit('pause');
308
+ }
309
+ }
310
+
311
+ // http://dev.mysql.com/doc/internals/en/sequence-id.html
312
+ //
313
+ // The sequence-id is incremented with each packet and may wrap around.
314
+ // It starts at 0 and is reset to 0 when a new command
315
+ // begins in the Command Phase.
316
+ // http://dev.mysql.com/doc/internals/en/example-several-mysql-packets.html
317
+ _resetSequenceId() {
318
+ this.sequenceId = 0;
319
+ this.compressedSequenceId = 0;
320
+ }
321
+
322
+ _bumpCompressedSequenceId(numPackets) {
323
+ this.compressedSequenceId += numPackets;
324
+ this.compressedSequenceId %= 256;
325
+ }
326
+
327
+ _bumpSequenceId(numPackets) {
328
+ this.sequenceId += numPackets;
329
+ this.sequenceId %= 256;
330
+ }
331
+
332
+ writePacket(packet) {
333
+ const MAX_PACKET_LENGTH = 16777215;
334
+ const length = packet.length();
335
+ let chunk, offset, header;
336
+ if (length < MAX_PACKET_LENGTH) {
337
+ packet.writeHeader(this.sequenceId);
338
+ if (this.config.debug) {
339
+ console.log(
340
+ `${this._internalId} ${this.connectionId} <== ${this._command._commandName}#${this._command.stateName()}(${[this.sequenceId, packet._name, packet.length()].join(',')})`
341
+ );
342
+ console.log(
343
+ `${this._internalId} ${this.connectionId} <== ${packet.buffer.toString('hex')}`
344
+ );
345
+ }
346
+ this._bumpSequenceId(1);
347
+ this.write(packet.buffer);
348
+ } else {
349
+ if (this.config.debug) {
350
+ console.log(
351
+ `${this._internalId} ${this.connectionId} <== Writing large packet, raw content not written:`
352
+ );
353
+ console.log(
354
+ `${this._internalId} ${this.connectionId} <== ${this._command._commandName}#${this._command.stateName()}(${[this.sequenceId, packet._name, packet.length()].join(',')})`
355
+ );
356
+ }
357
+ for (offset = 4; offset < 4 + length; offset += MAX_PACKET_LENGTH) {
358
+ chunk = packet.buffer.slice(offset, offset + MAX_PACKET_LENGTH);
359
+ if (chunk.length === MAX_PACKET_LENGTH) {
360
+ header = Buffer.from([0xff, 0xff, 0xff, this.sequenceId]);
361
+ } else {
362
+ header = Buffer.from([
363
+ chunk.length & 0xff,
364
+ (chunk.length >> 8) & 0xff,
365
+ (chunk.length >> 16) & 0xff,
366
+ this.sequenceId,
367
+ ]);
368
+ }
369
+ this._bumpSequenceId(1);
370
+ this.write(header);
371
+ this.write(chunk);
372
+ }
373
+ }
374
+ }
375
+
376
+ // 0.11+ environment
377
+ startTLS(onSecure) {
378
+ if (this.config.debug) {
379
+ console.log('Upgrading connection to TLS');
380
+ }
381
+ const secureContext = Tls.createSecureContext({
382
+ ca: this.config.ssl.ca,
383
+ cert: this.config.ssl.cert,
384
+ ciphers: this.config.ssl.ciphers,
385
+ key: this.config.ssl.key,
386
+ passphrase: this.config.ssl.passphrase,
387
+ minVersion: this.config.ssl.minVersion,
388
+ maxVersion: this.config.ssl.maxVersion,
389
+ });
390
+ const rejectUnauthorized = this.config.ssl.rejectUnauthorized;
391
+ const verifyIdentity = this.config.ssl.verifyIdentity;
392
+ const servername = Net.isIP(this.config.host)
393
+ ? undefined
394
+ : this.config.host;
395
+
396
+ let secureEstablished = false;
397
+ this.stream.removeAllListeners('data');
398
+ const secureSocket = Tls.connect(
399
+ {
400
+ rejectUnauthorized,
401
+ requestCert: rejectUnauthorized,
402
+ checkServerIdentity: verifyIdentity
403
+ ? Tls.checkServerIdentity
404
+ : function () {
405
+ return undefined;
406
+ },
407
+ secureContext,
408
+ isServer: false,
409
+ socket: this.stream,
410
+ servername,
411
+ },
412
+ () => {
413
+ secureEstablished = true;
414
+ if (rejectUnauthorized) {
415
+ if (typeof servername === 'string' && verifyIdentity) {
416
+ const cert = secureSocket.getPeerCertificate(true);
417
+ const serverIdentityCheckError = Tls.checkServerIdentity(
418
+ servername,
419
+ cert
420
+ );
421
+ if (serverIdentityCheckError) {
422
+ onSecure(serverIdentityCheckError);
423
+ return;
424
+ }
425
+ }
426
+ }
427
+ onSecure();
428
+ }
429
+ );
430
+ // error handler for secure socket
431
+ secureSocket.on('error', (err) => {
432
+ if (secureEstablished) {
433
+ this._handleNetworkError(err);
434
+ } else {
435
+ onSecure(err);
436
+ }
437
+ });
438
+ secureSocket.on('data', (data) => {
439
+ this.packetParser.execute(data);
440
+ });
441
+ this.stream = secureSocket;
442
+ }
443
+
444
+ protocolError(message, code) {
445
+ // Starting with MySQL 8.0.24, if the client closes the connection
446
+ // unexpectedly, the server will send a last ERR Packet, which we can
447
+ // safely ignore.
448
+ // https://dev.mysql.com/worklog/task/?id=12999
449
+ if (this._closing) {
450
+ return;
451
+ }
452
+
453
+ const err = new Error(message);
454
+ err.fatal = true;
455
+ err.code = code || 'PROTOCOL_ERROR';
456
+ this.emit('error', err);
457
+ }
458
+
459
+ get state() {
460
+ // Error state has highest priority
461
+ if (this._fatalError || this._protocolError) {
462
+ return 'error';
463
+ }
464
+
465
+ // Closing state has second priority
466
+ if (this._closing || (this.stream && this.stream.destroyed)) {
467
+ return 'disconnected';
468
+ }
469
+
470
+ // Authenticated state has third priority
471
+ if (this.authorized) {
472
+ return 'authenticated';
473
+ }
474
+
475
+ // Connected state: handshake completed but not yet authorized
476
+ // This matches the original mysql driver's 'connected' state
477
+ if (this._handshakePacket) {
478
+ return 'connected';
479
+ }
480
+
481
+ // Protocol handshake state: connection established, handshake in progress
482
+ if (this.stream && !this.stream.destroyed) {
483
+ return 'protocol_handshake';
484
+ }
485
+
486
+ // Default: not connected
487
+ return 'disconnected';
488
+ }
489
+
490
+ get fatalError() {
491
+ return this._fatalError;
492
+ }
493
+
494
+ handlePacket(packet) {
495
+ if (this._paused) {
496
+ this._paused_packets.push(packet);
497
+ return;
498
+ }
499
+ if (this.config.debug) {
500
+ if (packet) {
501
+ console.log(
502
+ ` raw: ${packet.buffer
503
+ .slice(packet.offset, packet.offset + packet.length())
504
+ .toString('hex')}`
505
+ );
506
+ console.trace();
507
+ const commandName = this._command
508
+ ? this._command._commandName
509
+ : '(no command)';
510
+ const stateName = this._command
511
+ ? this._command.stateName()
512
+ : '(no command)';
513
+ console.log(
514
+ `${this._internalId} ${this.connectionId} ==> ${commandName}#${stateName}(${[packet.sequenceId, packet.type(), packet.length()].join(',')})`
515
+ );
516
+ }
517
+ }
518
+ if (!this._command) {
519
+ const marker = packet.peekByte();
520
+ // If it's an Err Packet, we should use it.
521
+ if (marker === 0xff) {
522
+ const error = Packets.Error.fromPacket(packet);
523
+ this.protocolError(error.message, error.code);
524
+ } else {
525
+ // Otherwise, it means it's some other unexpected packet.
526
+ this.protocolError(
527
+ 'Unexpected packet while no commands in the queue',
528
+ 'PROTOCOL_UNEXPECTED_PACKET'
529
+ );
530
+ }
531
+ this.close();
532
+ return;
533
+ }
534
+ if (packet) {
535
+ // Note: when server closes connection due to inactivity, Err packet ER_CLIENT_INTERACTION_TIMEOUT from MySQL 8.0.24, sequenceId will be 0
536
+ if (this.sequenceId !== packet.sequenceId) {
537
+ const err = new Error(
538
+ `Warning: got packets out of order. Expected ${this.sequenceId} but received ${packet.sequenceId}`
539
+ );
540
+ err.expected = this.sequenceId;
541
+ err.received = packet.sequenceId;
542
+ this.emit('warn', err); // REVIEW
543
+ console.error(err.message);
544
+ }
545
+ this._bumpSequenceId(packet.numPackets);
546
+ }
547
+ try {
548
+ if (this._fatalError) {
549
+ // skip remaining packets after client is in the error state
550
+ return;
551
+ }
552
+ const done = this._command.execute(packet, this);
553
+ if (done) {
554
+ this._command = this._commands.shift();
555
+ if (this._command) {
556
+ this.sequenceId = 0;
557
+ this.compressedSequenceId = 0;
558
+ this.handlePacket();
559
+ }
560
+ }
561
+ } catch (err) {
562
+ this._handleFatalError(err);
563
+ this.stream.destroy();
564
+ }
565
+ }
566
+
567
+ addCommand(cmd) {
568
+ // this.compressedSequenceId = 0;
569
+ // this.sequenceId = 0;
570
+ if (this.config.debug) {
571
+ const commandName = cmd.constructor.name;
572
+ console.log(`Add command: ${commandName}`);
573
+ cmd._commandName = commandName;
574
+ }
575
+ if (!this._command) {
576
+ this._command = cmd;
577
+ this.handlePacket();
578
+ } else {
579
+ this._commands.push(cmd);
580
+ }
581
+ return cmd;
582
+ }
583
+
584
+ format(sql, values) {
585
+ if (typeof this.config.queryFormat === 'function') {
586
+ return this.config.queryFormat.call(
587
+ this,
588
+ sql,
589
+ values,
590
+ this.config.timezone
591
+ );
592
+ }
593
+ const opts = {
594
+ sql: sql,
595
+ values: values,
596
+ };
597
+ this._resolveNamedPlaceholders(opts);
598
+ return SqlString.format(
599
+ opts.sql,
600
+ opts.values,
601
+ this.config.stringifyObjects,
602
+ this.config.timezone
603
+ );
604
+ }
605
+
606
+ escape(value) {
607
+ return SqlString.escape(value, false, this.config.timezone);
608
+ }
609
+
610
+ escapeId(value) {
611
+ return SqlString.escapeId(value, false);
612
+ }
613
+
614
+ raw(sql) {
615
+ return SqlString.raw(sql);
616
+ }
617
+
618
+ _resolveNamedPlaceholders(options) {
619
+ let unnamed;
620
+ if (this.config.namedPlaceholders || options.namedPlaceholders) {
621
+ if (Array.isArray(options.values)) {
622
+ // if an array is provided as the values, assume the conversion is not necessary.
623
+ // this allows the usage of unnamed placeholders even if the namedPlaceholders flag is enabled.
624
+ return;
625
+ }
626
+ if (convertNamedPlaceholders === null) {
627
+ convertNamedPlaceholders = require('named-placeholders')();
628
+ }
629
+ unnamed = convertNamedPlaceholders(options.sql, options.values);
630
+ options.sql = unnamed[0];
631
+ options.values = unnamed[1];
632
+ }
633
+ }
634
+
635
+ query(sql, values, cb) {
636
+ let cmdQuery;
637
+ if (sql.constructor === Commands.Query) {
638
+ cmdQuery = sql;
639
+ } else {
640
+ cmdQuery = BaseConnection.createQuery(sql, values, cb, this.config);
641
+ }
642
+ this._resolveNamedPlaceholders(cmdQuery);
643
+ const rawSql = this.format(
644
+ cmdQuery.sql,
645
+ cmdQuery.values !== undefined ? cmdQuery.values : []
646
+ );
647
+ cmdQuery.sql = rawSql;
648
+
649
+ if (cmdQuery.onResult) {
650
+ // Callback mode: traceCallback wraps the callback with tracing lifecycle, or calls through directly when no subscribers are registered
651
+ traceCallback(
652
+ queryChannel,
653
+ (wrappedCb) => {
654
+ cmdQuery.onResult = wrappedCb;
655
+ this.addCommand(cmdQuery);
656
+ },
657
+ 0,
658
+ () => {
659
+ const server = getServerContext(this.config);
660
+ return {
661
+ query: cmdQuery.sql,
662
+ values: cmdQuery.values,
663
+ database: this.config.database || '',
664
+ serverAddress: server.serverAddress,
665
+ serverPort: server.serverPort,
666
+ };
667
+ },
668
+ null,
669
+ cmdQuery.onResult
670
+ );
671
+ } else if (shouldTrace(queryChannel)) {
672
+ // Event-emitter mode: tracePromise wraps the async lifecycle
673
+ tracePromise(
674
+ queryChannel,
675
+ () =>
676
+ new Promise((resolve, reject) => {
677
+ cmdQuery.once('error', reject);
678
+ cmdQuery.once('end', () => resolve());
679
+ this.addCommand(cmdQuery);
680
+ }),
681
+ () => {
682
+ const server = getServerContext(this.config);
683
+ return {
684
+ query: cmdQuery.sql,
685
+ values: cmdQuery.values,
686
+ database: this.config.database || '',
687
+ serverAddress: server.serverAddress,
688
+ serverPort: server.serverPort,
689
+ };
690
+ }
691
+ ).catch(() => {
692
+ // errors are already emitted on the command
693
+ });
694
+ } else {
695
+ this.addCommand(cmdQuery);
696
+ }
697
+
698
+ return cmdQuery;
699
+ }
700
+
701
+ pause() {
702
+ this._paused = true;
703
+ this.stream.pause();
704
+ }
705
+
706
+ resume() {
707
+ let packet;
708
+ this._paused = false;
709
+ while ((packet = this._paused_packets.shift())) {
710
+ this.handlePacket(packet);
711
+ // don't resume if packet handler paused connection
712
+ if (this._paused) {
713
+ return;
714
+ }
715
+ }
716
+ this.stream.resume();
717
+ }
718
+
719
+ // TODO: named placeholders support
720
+ prepare(options, cb) {
721
+ if (typeof options === 'string') {
722
+ options = { sql: options };
723
+ }
724
+ return this.addCommand(new Commands.Prepare(options, cb));
725
+ }
726
+
727
+ unprepare(sql) {
728
+ let options = {};
729
+ if (typeof sql === 'object') {
730
+ options = sql;
731
+ } else {
732
+ options.sql = sql;
733
+ }
734
+ const key = BaseConnection.statementKey(options);
735
+ const stmt = this._statements.get(key);
736
+ if (stmt) {
737
+ this._statements.delete(key);
738
+ stmt.close();
739
+ }
740
+ return stmt;
741
+ }
742
+
743
+ execute(sql, values, cb) {
744
+ let options = {
745
+ infileStreamFactory: this.config.infileStreamFactory,
746
+ };
747
+ if (typeof sql === 'object') {
748
+ // execute(options, cb)
749
+ options = {
750
+ ...options,
751
+ ...sql,
752
+ sql: sql.sql,
753
+ values: sql.values,
754
+ };
755
+ if (typeof values === 'function') {
756
+ cb = values;
757
+ } else {
758
+ options.values = options.values || values;
759
+ }
760
+ } else if (typeof values === 'function') {
761
+ // execute(sql, cb)
762
+ cb = values;
763
+ options.sql = sql;
764
+ options.values = undefined;
765
+ } else {
766
+ // execute(sql, values, cb)
767
+ options.sql = sql;
768
+ options.values = values;
769
+ }
770
+ this._resolveNamedPlaceholders(options);
771
+ // check for values containing undefined
772
+ if (options.values) {
773
+ //If namedPlaceholder is not enabled and object is passed as bind parameters
774
+ if (!Array.isArray(options.values)) {
775
+ throw new TypeError(
776
+ 'Bind parameters must be array if namedPlaceholders parameter is not enabled'
777
+ );
778
+ }
779
+ options.values.forEach((val) => {
780
+ //If namedPlaceholder is not enabled and object is passed as bind parameters
781
+ if (!Array.isArray(options.values)) {
782
+ throw new TypeError(
783
+ 'Bind parameters must be array if namedPlaceholders parameter is not enabled'
784
+ );
785
+ }
786
+ if (val === undefined) {
787
+ throw new TypeError(
788
+ 'Bind parameters must not contain undefined. To pass SQL NULL specify JS null'
789
+ );
790
+ }
791
+ if (typeof val === 'function') {
792
+ throw new TypeError(
793
+ 'Bind parameters must not contain function(s). To pass the body of a function as a string call .toString() first'
794
+ );
795
+ }
796
+ });
797
+ }
798
+ const executeCommand = new Commands.Execute(options, cb);
799
+
800
+ const prepareAndExecute = (errorCb) => {
801
+ const prepareCommand = new Commands.Prepare(options, (err, stmt) => {
802
+ if (err) {
803
+ // skip execute command if prepare failed
804
+ executeCommand.start = function () {
805
+ return null;
806
+ };
807
+ errorCb(err);
808
+ executeCommand.emit('end');
809
+ return;
810
+ }
811
+ executeCommand.statement = stmt;
812
+ });
813
+ this.addCommand(prepareCommand);
814
+ this.addCommand(executeCommand);
815
+ };
816
+
817
+ if (executeCommand.onResult) {
818
+ // Callback mode: traceCallback wraps the callback with tracing lifecycle, or calls through directly when no subscribers are registered
819
+ const origExecCb = executeCommand.onResult;
820
+ traceCallback(
821
+ executeChannel,
822
+ (wrappedCb) => {
823
+ executeCommand.onResult = wrappedCb;
824
+ prepareAndExecute(wrappedCb);
825
+ },
826
+ 0,
827
+ () => {
828
+ const server = getServerContext(this.config);
829
+ return {
830
+ query: options.sql,
831
+ values: options.values,
832
+ database: this.config.database || '',
833
+ serverAddress: server.serverAddress,
834
+ serverPort: server.serverPort,
835
+ };
836
+ },
837
+ null,
838
+ origExecCb
839
+ );
840
+ } else if (shouldTrace(executeChannel)) {
841
+ // Event-emitter mode: tracePromise wraps the async lifecycle
842
+ tracePromise(
843
+ executeChannel,
844
+ () =>
845
+ new Promise((resolve, reject) => {
846
+ prepareAndExecute((err) => {
847
+ executeCommand.emit('error', err);
848
+ });
849
+ executeCommand.once('error', reject);
850
+ executeCommand.once('end', () => resolve());
851
+ }),
852
+ () => {
853
+ const server = getServerContext(this.config);
854
+ return {
855
+ query: options.sql,
856
+ values: options.values,
857
+ database: this.config.database || '',
858
+ serverAddress: server.serverAddress,
859
+ serverPort: server.serverPort,
860
+ };
861
+ }
862
+ ).catch(() => {
863
+ // errors are already emitted on the command
864
+ });
865
+ } else {
866
+ prepareAndExecute((err) => {
867
+ executeCommand.emit('error', err);
868
+ });
869
+ }
870
+
871
+ return executeCommand;
872
+ }
873
+
874
+ changeUser(options, callback) {
875
+ if (!callback && typeof options === 'function') {
876
+ callback = options;
877
+ options = {};
878
+ }
879
+ const charsetNumber = options.charset
880
+ ? ConnectionConfig.getCharsetNumber(options.charset)
881
+ : this.config.charsetNumber;
882
+ return this.addCommand(
883
+ new Commands.ChangeUser(
884
+ {
885
+ user: options.user || this.config.user,
886
+ // for the purpose of multi-factor authentication, or not, the main
887
+ // password (used for the 1st authentication factor) can also be
888
+ // provided via the "password1" option
889
+ password:
890
+ options.password ||
891
+ options.password1 ||
892
+ this.config.password ||
893
+ this.config.password1,
894
+ password2: options.password2 || this.config.password2,
895
+ password3: options.password3 || this.config.password3,
896
+ passwordSha1: options.passwordSha1 || this.config.passwordSha1,
897
+ database: options.database || this.config.database,
898
+ timeout: options.timeout,
899
+ charsetNumber: charsetNumber,
900
+ currentConfig: this.config,
901
+ },
902
+ (err) => {
903
+ if (err) {
904
+ err.fatal = true;
905
+ }
906
+ if (callback) {
907
+ callback(err);
908
+ }
909
+ }
910
+ )
911
+ );
912
+ }
913
+
914
+ // transaction helpers
915
+ beginTransaction(cb) {
916
+ return this.query('START TRANSACTION', cb);
917
+ }
918
+
919
+ commit(cb) {
920
+ return this.query('COMMIT', cb);
921
+ }
922
+
923
+ rollback(cb) {
924
+ return this.query('ROLLBACK', cb);
925
+ }
926
+
927
+ ping(cb) {
928
+ return this.addCommand(new Commands.Ping(cb));
929
+ }
930
+
931
+ reset(cb) {
932
+ return this.addCommand(new Commands.ResetConnection(cb));
933
+ }
934
+
935
+ _registerSlave(opts, cb) {
936
+ return this.addCommand(new Commands.RegisterSlave(opts, cb));
937
+ }
938
+
939
+ _binlogDump(opts, cb) {
940
+ return this.addCommand(new Commands.BinlogDump(opts, cb));
941
+ }
942
+
943
+ // currently just alias to close
944
+ destroy() {
945
+ this.close();
946
+ }
947
+
948
+ close() {
949
+ if (this.connectTimeout) {
950
+ Timers.clearTimeout(this.connectTimeout);
951
+ this.connectTimeout = null;
952
+ }
953
+ this._closing = true;
954
+ this.stream.end();
955
+ this.addCommand = this._addCommandClosedState;
956
+ }
957
+
958
+ createBinlogStream(opts) {
959
+ // TODO: create proper stream class
960
+ // TODO: use through2
961
+ let test = 1;
962
+ const stream = new Readable({ objectMode: true });
963
+ stream._read = function () {
964
+ return {
965
+ data: test++,
966
+ };
967
+ };
968
+ this._registerSlave(opts, () => {
969
+ const dumpCmd = this._binlogDump(opts);
970
+ dumpCmd.on('event', (ev) => {
971
+ stream.push(ev);
972
+ });
973
+ dumpCmd.on('eof', () => {
974
+ stream.push(null);
975
+ // if non-blocking, then close stream to prevent errors
976
+ if (opts.flags && opts.flags & 0x01) {
977
+ this.close();
978
+ }
979
+ });
980
+ // TODO: pipe errors as well
981
+ });
982
+ return stream;
983
+ }
984
+
985
+ connect(cb) {
986
+ if (!cb) {
987
+ return;
988
+ }
989
+
990
+ if (this._fatalError || this._protocolError) {
991
+ return cb(this._fatalError || this._protocolError);
992
+ }
993
+
994
+ if (this._handshakePacket) {
995
+ return cb(null, this);
996
+ }
997
+
998
+ /* eslint-disable prefer-const */
999
+ let onError, onConnect;
1000
+
1001
+ onError = (param) => {
1002
+ this.removeListener('connect', onConnect);
1003
+ cb(param);
1004
+ };
1005
+
1006
+ onConnect = (param) => {
1007
+ this.removeListener('error', onError);
1008
+ cb(null, param);
1009
+ };
1010
+ /* eslint-enable prefer-const */
1011
+
1012
+ this.once('error', onError);
1013
+ this.once('connect', onConnect);
1014
+ }
1015
+
1016
+ // ===================================
1017
+ // outgoing server connection methods
1018
+ // ===================================
1019
+ writeColumns(columns) {
1020
+ this.writePacket(Packets.ResultSetHeader.toPacket(columns.length));
1021
+ columns.forEach((column) => {
1022
+ this.writePacket(
1023
+ Packets.ColumnDefinition.toPacket(column, this.serverConfig.encoding)
1024
+ );
1025
+ });
1026
+ this.writeEof();
1027
+ }
1028
+
1029
+ // row is array of columns, not hash
1030
+ writeTextRow(column) {
1031
+ this.writePacket(
1032
+ Packets.TextRow.toPacket(column, this.serverConfig.encoding)
1033
+ );
1034
+ }
1035
+
1036
+ writeBinaryRow(column) {
1037
+ this.writePacket(
1038
+ Packets.BinaryRow.toPacket(column, this.serverConfig.encoding)
1039
+ );
1040
+ }
1041
+
1042
+ writeTextResult(rows, columns, binary = false) {
1043
+ this.writeColumns(columns);
1044
+ rows.forEach((row) => {
1045
+ const arrayRow = new Array(columns.length);
1046
+ columns.forEach((column) => {
1047
+ arrayRow.push(row[column.name]);
1048
+ });
1049
+ if (binary) {
1050
+ this.writeBinaryRow(arrayRow);
1051
+ } else this.writeTextRow(arrayRow);
1052
+ });
1053
+ this.writeEof();
1054
+ }
1055
+
1056
+ writeEof(warnings, statusFlags) {
1057
+ this.writePacket(Packets.EOF.toPacket(warnings, statusFlags));
1058
+ }
1059
+
1060
+ writeOk(args) {
1061
+ if (!args) {
1062
+ args = { affectedRows: 0 };
1063
+ }
1064
+ this.writePacket(Packets.OK.toPacket(args, this.serverConfig.encoding));
1065
+ }
1066
+
1067
+ writeError(args) {
1068
+ // if we want to send error before initial hello was sent, use default encoding
1069
+ const encoding = this.serverConfig ? this.serverConfig.encoding : 'cesu8';
1070
+ this.writePacket(Packets.Error.toPacket(args, encoding));
1071
+ }
1072
+
1073
+ serverHandshake(args) {
1074
+ this.serverConfig = args;
1075
+ this.serverConfig.encoding =
1076
+ CharsetToEncoding[this.serverConfig.characterSet];
1077
+ return this.addCommand(new Commands.ServerHandshake(args));
1078
+ }
1079
+
1080
+ [Symbol.dispose]() {
1081
+ if (!this._closing) {
1082
+ this.end();
1083
+ }
1084
+ }
1085
+
1086
+ // ===============================================================
1087
+ end(callback) {
1088
+ if (this.config.isServer) {
1089
+ this._closing = true;
1090
+ const quitCmd = new EventEmitter();
1091
+ setImmediate(() => {
1092
+ this.stream.end();
1093
+ quitCmd.emit('end');
1094
+ });
1095
+ return quitCmd;
1096
+ }
1097
+ // trigger error if more commands enqueued after end command
1098
+ const quitCmd = this.addCommand(new Commands.Quit(callback));
1099
+ this.addCommand = this._addCommandClosedState;
1100
+ return quitCmd;
1101
+ }
1102
+
1103
+ static createQuery(sql, values, cb, config) {
1104
+ let options = {
1105
+ rowsAsArray: config.rowsAsArray,
1106
+ infileStreamFactory: config.infileStreamFactory,
1107
+ };
1108
+ if (typeof sql === 'object') {
1109
+ // query(options, cb)
1110
+ options = {
1111
+ ...options,
1112
+ ...sql,
1113
+ sql: sql.sql,
1114
+ values: sql.values,
1115
+ };
1116
+ if (typeof values === 'function') {
1117
+ cb = values;
1118
+ } else if (values !== undefined) {
1119
+ options.values = values;
1120
+ }
1121
+ } else if (typeof values === 'function') {
1122
+ // query(sql, cb)
1123
+ cb = values;
1124
+ options.sql = sql;
1125
+ options.values = undefined;
1126
+ } else {
1127
+ // query(sql, values, cb)
1128
+ options.sql = sql;
1129
+ options.values = values;
1130
+ }
1131
+ return new Commands.Query(options, cb);
1132
+ }
1133
+
1134
+ static statementKey(options) {
1135
+ return `${typeof options.nestTables}/${options.nestTables}/${options.rowsAsArray}${options.sql}`;
1136
+ }
1137
+ }
1138
+
1139
+ module.exports = BaseConnection;