@zowe/db2-for-zowe-cli 6.1.17 → 6.1.19

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 (282) hide show
  1. package/README.md +12 -10
  2. package/lib/Db2PluginLifeCycle.d.ts +11 -9
  3. package/lib/Db2PluginLifeCycle.js +18 -13
  4. package/lib/Db2PluginLifeCycle.js.map +1 -1
  5. package/node_modules/adm-zip/adm-zip.js +32 -6
  6. package/node_modules/adm-zip/headers/entryHeader.js +13 -1
  7. package/node_modules/adm-zip/methods/inflater.js +33 -3
  8. package/node_modules/adm-zip/package.json +2 -2
  9. package/node_modules/adm-zip/util/errors.js +3 -0
  10. package/node_modules/adm-zip/util/utils.js +102 -14
  11. package/node_modules/adm-zip/zipEntry.js +43 -18
  12. package/node_modules/adm-zip/zipFile.js +10 -0
  13. package/node_modules/axios/CHANGELOG.md +62 -0
  14. package/node_modules/axios/README.md +236 -73
  15. package/node_modules/axios/dist/axios.js +1308 -357
  16. package/node_modules/axios/dist/axios.min.js +3 -3
  17. package/node_modules/axios/dist/axios.min.js.map +1 -1
  18. package/node_modules/axios/dist/browser/axios.cjs +1443 -403
  19. package/node_modules/axios/dist/esm/axios.js +1443 -403
  20. package/node_modules/axios/dist/esm/axios.min.js +2 -2
  21. package/node_modules/axios/dist/esm/axios.min.js.map +1 -1
  22. package/node_modules/axios/dist/node/axios.cjs +1483 -348
  23. package/node_modules/axios/index.d.cts +24 -1
  24. package/node_modules/axios/index.d.ts +22 -1
  25. package/node_modules/axios/lib/adapters/fetch.js +136 -30
  26. package/node_modules/axios/lib/adapters/http.js +277 -74
  27. package/node_modules/axios/lib/adapters/xhr.js +172 -16
  28. package/node_modules/axios/lib/core/Axios.js +87 -27
  29. package/node_modules/axios/lib/core/AxiosError.js +59 -0
  30. package/node_modules/axios/lib/core/AxiosHeaders.js +17 -4
  31. package/node_modules/axios/lib/core/InterceptorManager.js +118 -8
  32. package/node_modules/axios/lib/core/assertParamsAcyclic.js +49 -0
  33. package/node_modules/axios/lib/core/buildFullPath.js +1 -13
  34. package/node_modules/axios/lib/core/createMultipartBody.js +37 -0
  35. package/node_modules/axios/lib/core/dispatchRequest.js +28 -2
  36. package/node_modules/axios/lib/core/mergeConfig.js +183 -120
  37. package/node_modules/axios/lib/core/methodList.js +17 -0
  38. package/node_modules/axios/lib/defaults/index.js +2 -1
  39. package/node_modules/axios/lib/defaults/transitional.js +1 -0
  40. package/node_modules/axios/lib/env/data.js +1 -1
  41. package/node_modules/axios/lib/helpers/AxiosTransformStream.js +11 -2
  42. package/node_modules/axios/lib/helpers/Http2Sessions.js +4 -1
  43. package/node_modules/axios/lib/helpers/HttpStatusCode.js +11 -1
  44. package/node_modules/axios/lib/helpers/composeSignals.js +6 -3
  45. package/node_modules/axios/lib/helpers/cookies.js +30 -6
  46. package/node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js +34 -7
  47. package/node_modules/axios/lib/helpers/formDataToBlob.js +113 -0
  48. package/node_modules/axios/lib/helpers/formDataToJSON.js +25 -1
  49. package/node_modules/axios/lib/helpers/fromDataURI.js +11 -4
  50. package/node_modules/axios/lib/helpers/isURLSameOrigin.js +4 -9
  51. package/node_modules/axios/lib/helpers/normalizeURLForProtocolCheck.js +24 -0
  52. package/node_modules/axios/lib/helpers/parseHeaders.js +2 -1
  53. package/node_modules/axios/lib/helpers/parseProtocol.js +1 -1
  54. package/node_modules/axios/lib/helpers/progressEventReducer.js +1 -1
  55. package/node_modules/axios/lib/helpers/resolveConfig.js +20 -5
  56. package/node_modules/axios/lib/helpers/shouldBypassProxy.js +197 -6
  57. package/node_modules/axios/lib/helpers/throttle.js +3 -2
  58. package/node_modules/axios/lib/helpers/toFormData.js +14 -21
  59. package/node_modules/axios/lib/utils.js +192 -20
  60. package/node_modules/axios/package.json +1 -2
  61. package/node_modules/follow-redirects/README.md +27 -1
  62. package/node_modules/follow-redirects/index.js +11 -6
  63. package/node_modules/follow-redirects/package.json +1 -1
  64. package/node_modules/fs-extra/README.md +0 -1
  65. package/node_modules/fs-extra/lib/empty/index.js +4 -2
  66. package/node_modules/fs-extra/lib/util/stat.js +12 -2
  67. package/node_modules/fs-extra/package.json +1 -1
  68. package/node_modules/ibm_db/APIDocumentation.md +2883 -2024
  69. package/node_modules/ibm_db/LICENSE +23 -23
  70. package/node_modules/ibm_db/README.md +735 -735
  71. package/node_modules/ibm_db/binding.gyp +99 -98
  72. package/node_modules/ibm_db/installer/driverInstall.js +984 -958
  73. package/node_modules/ibm_db/installer/ifx.sh +38 -38
  74. package/node_modules/ibm_db/installer/setenv.sh +23 -23
  75. package/node_modules/ibm_db/installer/testODBCConnection.bat +51 -51
  76. package/node_modules/ibm_db/installer/testODBCConnection.sh +61 -61
  77. package/node_modules/ibm_db/lib/climacros.js +431 -431
  78. package/node_modules/ibm_db/lib/odbc.js +4293 -3487
  79. package/node_modules/ibm_db/lib/simple-queue.js +41 -41
  80. package/node_modules/ibm_db/package.json +70 -70
  81. package/node_modules/ibm_db/src/odbc.cpp +1495 -1396
  82. package/node_modules/ibm_db/src/odbc.h +477 -473
  83. package/node_modules/ibm_db/src/odbc_connection.cpp +1762 -1612
  84. package/node_modules/ibm_db/src/odbc_connection.h +228 -215
  85. package/node_modules/ibm_db/src/odbc_result.cpp +1547 -1547
  86. package/node_modules/ibm_db/src/odbc_result.h +152 -152
  87. package/node_modules/ibm_db/src/odbc_statement.cpp +2047 -861
  88. package/node_modules/ibm_db/src/odbc_statement.h +257 -135
  89. package/node_modules/ibm_db/src/strptime.c +389 -389
  90. package/node_modules/ibm_db/src/strptime.h +46 -46
  91. package/node_modules/ibm_db/test/README +23 -23
  92. package/node_modules/ibm_db/test/bench-insert.js +62 -62
  93. package/node_modules/ibm_db/test/bench-insertBatch10.js +74 -74
  94. package/node_modules/ibm_db/test/bench-insertBatch100.js +75 -75
  95. package/node_modules/ibm_db/test/bench-insertBatch1000.js +75 -75
  96. package/node_modules/ibm_db/test/bench-insertBatch10000.js +75 -75
  97. package/node_modules/ibm_db/test/bench-prepare-bind-execute-closeSync.js +60 -60
  98. package/node_modules/ibm_db/test/bench-prepare-bind-executeNonQuery.js +53 -53
  99. package/node_modules/ibm_db/test/bench-prepare-bindSync-execute-closeSync.js +50 -50
  100. package/node_modules/ibm_db/test/bench-prepare-bindSync-executeNonQuery.js +48 -48
  101. package/node_modules/ibm_db/test/bench-prepare-execute-closeSync.js +51 -51
  102. package/node_modules/ibm_db/test/bench-prepare-executeNonQuery.js +47 -47
  103. package/node_modules/ibm_db/test/bench-prepare-not.js +43 -43
  104. package/node_modules/ibm_db/test/bench-query-fetch.js +59 -59
  105. package/node_modules/ibm_db/test/bench-query-fetchAll.js +49 -49
  106. package/node_modules/ibm_db/test/bench-query-fetchAllSync.js +43 -43
  107. package/node_modules/ibm_db/test/bench-query.js +40 -40
  108. package/node_modules/ibm_db/test/bench-querySync-fetchArray.js +28 -28
  109. package/node_modules/ibm_db/test/bench-querySync.js +29 -29
  110. package/node_modules/ibm_db/test/common.d.ts +10 -10
  111. package/node_modules/ibm_db/test/common.js +127 -127
  112. package/node_modules/ibm_db/test/config.json +7 -7
  113. package/node_modules/ibm_db/test/config.zos.json +4 -4
  114. package/node_modules/ibm_db/test/data/sample1.txt +9 -9
  115. package/node_modules/ibm_db/test/data/trc.fmt +30114 -30114
  116. package/node_modules/ibm_db/test/nodeEE-leak-huge-query.js +152 -152
  117. package/node_modules/ibm_db/test/nodeEE-leak-multiple-query-multiple-connections.js +148 -148
  118. package/node_modules/ibm_db/test/nodeEE-leak-multiple-query-pool-connections.js +154 -154
  119. package/node_modules/ibm_db/test/nodeEE-leak-multiple-query.js +133 -133
  120. package/node_modules/ibm_db/test/nodeEE-stress-async-waterfall-multiple-connections.js +174 -174
  121. package/node_modules/ibm_db/test/nodeEE-stress-async-waterfall.js +169 -169
  122. package/node_modules/ibm_db/test/nodeEE-stress-mixed-query-multiple-connections.js +159 -159
  123. package/node_modules/ibm_db/test/nodeEE-stress-mixed-query.js +148 -148
  124. package/node_modules/ibm_db/test/odbc-bench.c +123 -123
  125. package/node_modules/ibm_db/test/perfTest.js +53 -53
  126. package/node_modules/ibm_db/test/quick-example.sh +30 -30
  127. package/node_modules/ibm_db/test/quick-example.ts +80 -80
  128. package/node_modules/ibm_db/test/run-bench.js +96 -96
  129. package/node_modules/ibm_db/test/run-nodeEE.js +132 -132
  130. package/node_modules/ibm_db/test/run-tests.js +132 -138
  131. package/node_modules/ibm_db/test/sql-cli.js +28 -28
  132. package/node_modules/ibm_db/test/test-all-data-types.js +109 -109
  133. package/node_modules/ibm_db/test/test-array-insert.js +178 -178
  134. package/node_modules/ibm_db/test/test-async-await.js +105 -105
  135. package/node_modules/ibm_db/test/test-attributes.js +34 -34
  136. package/node_modules/ibm_db/test/test-bad-pool-connection-prepare-execute.js +57 -57
  137. package/node_modules/ibm_db/test/test-basic-test.js +138 -138
  138. package/node_modules/ibm_db/test/test-binary-array-insert.js +73 -73
  139. package/node_modules/ibm_db/test/test-blob-from-file.js +90 -90
  140. package/node_modules/ibm_db/test/test-blob-insert.js +144 -144
  141. package/node_modules/ibm_db/test/test-blob-stream-insert.js +321 -299
  142. package/node_modules/ibm_db/test/test-blob-to-file.js +370 -370
  143. package/node_modules/ibm_db/test/test-block-fetch.js +364 -364
  144. package/node_modules/ibm_db/test/test-blocking-issue210.js +123 -123
  145. package/node_modules/ibm_db/test/test-call-async.js +64 -64
  146. package/node_modules/ibm_db/test/test-call-stmt.js +53 -53
  147. package/node_modules/ibm_db/test/test-cancel.js +703 -0
  148. package/node_modules/ibm_db/test/test-chinese-char.js +59 -59
  149. package/node_modules/ibm_db/test/test-connection.js +306 -0
  150. package/node_modules/ibm_db/test/test-date.js +32 -32
  151. package/node_modules/ibm_db/test/test-dbclob.js +93 -93
  152. package/node_modules/ibm_db/test/test-decimals.js +135 -135
  153. package/node_modules/ibm_db/test/test-describe-metadata.js +148 -0
  154. package/node_modules/ibm_db/test/test-executeFile.js +167 -167
  155. package/node_modules/ibm_db/test/test-executeFileSync.js +85 -85
  156. package/node_modules/ibm_db/test/test-fetch-apis.js +146 -146
  157. package/node_modules/ibm_db/test/test-fetchN.js +130 -130
  158. package/node_modules/ibm_db/test/test-getinfo.js +197 -197
  159. package/node_modules/ibm_db/test/test-ibm-db-issue14.js +58 -58
  160. package/node_modules/ibm_db/test/test-ibm-db-issue17.js +54 -54
  161. package/node_modules/ibm_db/test/test-ibm-db-issue18.js +54 -54
  162. package/node_modules/ibm_db/test/test-issue-1059-fetchAll-undefined.js +67 -67
  163. package/node_modules/ibm_db/test/test-issue-1080-array-blob-insert.js +40 -0
  164. package/node_modules/ibm_db/test/test-issue-54.js +39 -39
  165. package/node_modules/ibm_db/test/test-issue-get-column-value-2.js +44 -44
  166. package/node_modules/ibm_db/test/test-issue211.js +80 -80
  167. package/node_modules/ibm_db/test/test-issue253.js +39 -39
  168. package/node_modules/ibm_db/test/test-max-pool-size.js +96 -96
  169. package/node_modules/ibm_db/test/test-memory-leaks-new-objects.js +32 -32
  170. package/node_modules/ibm_db/test/test-multi-open-query-close.js +75 -75
  171. package/node_modules/ibm_db/test/test-param-put-data.js +713 -0
  172. package/node_modules/ibm_db/test/test-pool-idle-connection.js +72 -72
  173. package/node_modules/ibm_db/test/test-pool-operations.js +325 -0
  174. package/node_modules/ibm_db/test/test-pool-stale-connections.js +111 -111
  175. package/node_modules/ibm_db/test/test-pool-uncommited.js +33 -33
  176. package/node_modules/ibm_db/test/test-prepare-execute.js +339 -0
  177. package/node_modules/ibm_db/test/test-prepareSync-multiple-execution.js +93 -93
  178. package/node_modules/ibm_db/test/test-primary-foreign-keys.js +246 -0
  179. package/node_modules/ibm_db/test/test-procedures.js +243 -0
  180. package/node_modules/ibm_db/test/test-promise-all-data-types.js +42 -42
  181. package/node_modules/ibm_db/test/test-query-operations.js +405 -0
  182. package/node_modules/ibm_db/test/test-quick-example.js +25 -25
  183. package/node_modules/ibm_db/test/test-row-array-insert.js +167 -167
  184. package/node_modules/ibm_db/test/test-sp-array.js +54 -54
  185. package/node_modules/ibm_db/test/test-sp-dbc-6000.js +88 -88
  186. package/node_modules/ibm_db/test/test-sp-memleak.js +136 -136
  187. package/node_modules/ibm_db/test/test-sp-resultset-execute.js +269 -269
  188. package/node_modules/ibm_db/test/test-sp-resultset.js +228 -228
  189. package/node_modules/ibm_db/test/test-transactions.js +261 -0
  190. package/node_modules/ibm_db/test/test-typescript.js +48 -48
  191. package/node_modules/ibm_db/test/test-xml-datatype.js +70 -70
  192. package/node_modules/ibm_db/test/testWebApp.js +56 -56
  193. package/node_modules/ibm_db/test/trace +51 -51
  194. package/node_modules/ibm_db/test/typescript-apis-test.js +978 -978
  195. package/node_modules/ibm_db/test/webapp.html +17 -17
  196. package/node_modules/ibm_db/test/webapp.js +79 -79
  197. package/node_modules/ibm_db/typescript/README.md +28 -28
  198. package/node_modules/ibm_db/typescript/dist/Database.d.ts +26 -0
  199. package/node_modules/ibm_db/typescript/dist/ODBCStatement.d.ts +93 -0
  200. package/node_modules/string_decoder/node_modules/safe-buffer/LICENSE +21 -0
  201. package/node_modules/string_decoder/node_modules/safe-buffer/README.md +584 -0
  202. package/node_modules/string_decoder/node_modules/safe-buffer/index.d.ts +187 -0
  203. package/node_modules/string_decoder/node_modules/safe-buffer/index.js +62 -0
  204. package/node_modules/string_decoder/node_modules/safe-buffer/package.json +37 -0
  205. package/node_modules/which-typed-array/CHANGELOG.md +14 -0
  206. package/node_modules/which-typed-array/README.md +0 -2
  207. package/node_modules/which-typed-array/index.d.ts +288 -11
  208. package/node_modules/which-typed-array/index.js +6 -7
  209. package/node_modules/which-typed-array/package.json +12 -11
  210. package/package.json +10 -11
  211. package/node_modules/ibm_db/test/disabled/test-binding-statement-rebinding.js +0 -59
  212. package/node_modules/ibm_db/test/disabled/test-open-dont-close.js +0 -12
  213. package/node_modules/ibm_db/test/disabled/test-param-select-with-booleans-only.js +0 -21
  214. package/node_modules/ibm_db/test/disabled/test-param-select-with-decimals-only.js +0 -20
  215. package/node_modules/ibm_db/test/disabled/test-param-select-with-null.js +0 -21
  216. package/node_modules/ibm_db/test/disabled/test-param-select-with-nulls-mixed.js +0 -23
  217. package/node_modules/ibm_db/test/disabled/test-param-select-with-numbers-mixed.js +0 -22
  218. package/node_modules/ibm_db/test/disabled/test-param-select-with-numbers-only.js +0 -24
  219. package/node_modules/ibm_db/test/disabled/test-param-select-with-strings-only.js +0 -23
  220. package/node_modules/ibm_db/test/disabled/test-param-select-with-unicode.js +0 -15
  221. package/node_modules/ibm_db/test/disabled/test-prepare-bind-execute-closeSync.js +0 -62
  222. package/node_modules/ibm_db/test/disabled/test-prepare-bind-execute-error.js +0 -49
  223. package/node_modules/ibm_db/test/disabled/test-prepare-bind-execute-long-string.js +0 -63
  224. package/node_modules/ibm_db/test/disabled/test-prepare-bind-executeNonQuery.js +0 -63
  225. package/node_modules/ibm_db/test/disabled/test-prepare-bindSync-execute-closeSync.js +0 -46
  226. package/node_modules/ibm_db/test/disabled/test-prepare-bindSync-executeNonQuery.js +0 -50
  227. package/node_modules/ibm_db/test/disabled/test-prepare.js +0 -34
  228. package/node_modules/ibm_db/test/disabled/test-prepareSync.js +0 -29
  229. package/node_modules/ibm_db/test/disabled/test-query-select-fetchAll.js +0 -23
  230. package/node_modules/ibm_db/test/disabled/test-query-select-fetchAllSync.js +0 -23
  231. package/node_modules/ibm_db/test/disabled/test-query-select-unicode.js +0 -15
  232. package/node_modules/ibm_db/test/disabled/test-querySync-select-unicode.js +0 -20
  233. package/node_modules/ibm_db/test/test-affected-rows.js +0 -55
  234. package/node_modules/ibm_db/test/test-bad-connection-string.js +0 -30
  235. package/node_modules/ibm_db/test/test-binding-connection-timeOut.js +0 -31
  236. package/node_modules/ibm_db/test/test-binding-statement-executeSync.js +0 -84
  237. package/node_modules/ibm_db/test/test-binding-transaction-commit.js +0 -79
  238. package/node_modules/ibm_db/test/test-binding-transaction-commitSync.js +0 -53
  239. package/node_modules/ibm_db/test/test-closed.js +0 -14
  240. package/node_modules/ibm_db/test/test-connection-object.js +0 -16
  241. package/node_modules/ibm_db/test/test-describe-column.js +0 -92
  242. package/node_modules/ibm_db/test/test-describe-database.js +0 -18
  243. package/node_modules/ibm_db/test/test-describe-table.js +0 -31
  244. package/node_modules/ibm_db/test/test-domains-open.js +0 -19
  245. package/node_modules/ibm_db/test/test-global-open-close.js +0 -11
  246. package/node_modules/ibm_db/test/test-instantiate-one-and-end.js +0 -9
  247. package/node_modules/ibm_db/test/test-multi-open-close.js +0 -45
  248. package/node_modules/ibm_db/test/test-multi-openSync-closeSync.js +0 -52
  249. package/node_modules/ibm_db/test/test-open-close.js +0 -29
  250. package/node_modules/ibm_db/test/test-open-connectTimeout.js +0 -33
  251. package/node_modules/ibm_db/test/test-openSync.js +0 -31
  252. package/node_modules/ibm_db/test/test-pool-close.js +0 -120
  253. package/node_modules/ibm_db/test/test-pool-connect.js +0 -36
  254. package/node_modules/ibm_db/test/test-pool-rollbackTransaction.js +0 -35
  255. package/node_modules/ibm_db/test/test-prepareSync-bad-sql.js +0 -34
  256. package/node_modules/ibm_db/test/test-promise-open-close.js +0 -33
  257. package/node_modules/ibm_db/test/test-query-create-table-fetchSync.js +0 -23
  258. package/node_modules/ibm_db/test/test-query-create-table.js +0 -12
  259. package/node_modules/ibm_db/test/test-query-drop-table.js +0 -13
  260. package/node_modules/ibm_db/test/test-query-insert.js +0 -38
  261. package/node_modules/ibm_db/test/test-query-select-fetch.js +0 -21
  262. package/node_modules/ibm_db/test/test-query-select-fetchMode-array.js +0 -17
  263. package/node_modules/ibm_db/test/test-query-select.js +0 -64
  264. package/node_modules/ibm_db/test/test-queryResult.js +0 -35
  265. package/node_modules/ibm_db/test/test-queryStream.js +0 -43
  266. package/node_modules/ibm_db/test/test-querySync-select-with-exception.js +0 -25
  267. package/node_modules/ibm_db/test/test-querySync-select.js +0 -28
  268. package/node_modules/ibm_db/test/test-require-and-end.js +0 -8
  269. package/node_modules/ibm_db/test/test-statement-close.js +0 -118
  270. package/node_modules/ibm_db/test/test-transaction-commit-sync.js +0 -54
  271. package/node_modules/ibm_db/test/test-transaction-commit.js +0 -79
  272. package/node_modules/which-typed-array/eslint.config.mjs +0 -12
  273. package/node_modules/which-typed-array/test/index.js +0 -105
  274. /package/node_modules/{tar-fs/node_modules/chownr → chownr}/LICENSE +0 -0
  275. /package/node_modules/{tar-fs/node_modules/chownr → chownr}/README.md +0 -0
  276. /package/node_modules/{tar-fs/node_modules/chownr → chownr}/chownr.js +0 -0
  277. /package/node_modules/{tar-fs/node_modules/chownr → chownr}/package.json +0 -0
  278. /package/node_modules/{tar-stream/node_modules/string_decoder → string_decoder}/.travis.yml +0 -0
  279. /package/node_modules/{tar-stream/node_modules/string_decoder → string_decoder}/LICENSE +0 -0
  280. /package/node_modules/{tar-stream/node_modules/string_decoder → string_decoder}/README.md +0 -0
  281. /package/node_modules/{tar-stream/node_modules/string_decoder → string_decoder}/lib/string_decoder.js +0 -0
  282. /package/node_modules/{tar-stream/node_modules/string_decoder → string_decoder}/package.json +0 -0
@@ -1,152 +1,152 @@
1
- /*
2
- Copyright (c) 2013, Dan VerWeire<dverweire@gmail.com>
3
-
4
- Permission to use, copy, modify, and/or distribute this software for any
5
- purpose with or without fee is hereby granted, provided that the above
6
- copyright notice and this permission notice appear in all copies.
7
-
8
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9
- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10
- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11
- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13
- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14
- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15
- */
16
-
17
- #ifndef _SRC_ODBC_RESULT_H
18
- #define _SRC_ODBC_RESULT_H
19
-
20
- #include <napi.h>
21
- #include <sqlext.h>
22
-
23
- typedef struct {
24
- SQLPOINTER data;
25
- SQLLEN *indicators;
26
- SQLSMALLINT cType;
27
- SQLLEN elementSize;
28
- } BoundColumn;
29
-
30
- #define FILE_COL_MAX_PATH 1024
31
- typedef struct {
32
- bool bound;
33
- char fileName[FILE_COL_MAX_PATH];
34
- SQLSMALLINT fileNameLength;
35
- SQLUINTEGER fileOption;
36
- SQLINTEGER stringLength;
37
- SQLINTEGER indicator;
38
- } FileColumnBinding;
39
-
40
- class ODBCResult : public Napi::ObjectWrap<ODBCResult>
41
- {
42
- public:
43
- static Napi::FunctionReference constructor;
44
- static Napi::Object Init(Napi::Env env, Napi::Object exports);
45
-
46
- ODBCResult(const Napi::CallbackInfo &info);
47
- ~ODBCResult();
48
- void Free();
49
-
50
- // Instance methods
51
- Napi::Value Fetch(const Napi::CallbackInfo &info);
52
- Napi::Value FetchSync(const Napi::CallbackInfo &info);
53
- Napi::Value FetchAll(const Napi::CallbackInfo &info);
54
- Napi::Value FetchAllSync(const Napi::CallbackInfo &info);
55
- Napi::Value FetchN(const Napi::CallbackInfo &info);
56
- Napi::Value FetchNSync(const Napi::CallbackInfo &info);
57
- Napi::Value GetData(const Napi::CallbackInfo &info);
58
- Napi::Value GetDataSync(const Napi::CallbackInfo &info);
59
- Napi::Value Close(const Napi::CallbackInfo &info);
60
- Napi::Value CloseSync(const Napi::CallbackInfo &info);
61
- Napi::Value MoreResultsSync(const Napi::CallbackInfo &info);
62
- Napi::Value GetColumnNamesSync(const Napi::CallbackInfo &info);
63
- Napi::Value GetColumnMetadataSync(const Napi::CallbackInfo &info);
64
- Napi::Value GetSQLErrorSync(const Napi::CallbackInfo &info);
65
- Napi::Value GetAffectedRowsSync(const Napi::CallbackInfo &info);
66
- Napi::Value BindFileToColSync(const Napi::CallbackInfo &info);
67
-
68
- // Property getter/setter
69
- Napi::Value FetchModeGetter(const Napi::CallbackInfo &info);
70
- void FetchModeSetter(const Napi::CallbackInfo &info, const Napi::Value &value);
71
-
72
- // UV callbacks
73
- static void UV_Fetch(uv_work_t *work_req);
74
- static void UV_AfterFetch(uv_work_t *work_req, int status);
75
- static void UV_FetchAll(uv_work_t *work_req);
76
- static void UV_AfterFetchAll(uv_work_t *work_req, int status);
77
- static void UV_FetchN(uv_work_t *work_req);
78
- static void UV_AfterFetchN(uv_work_t *work_req, int status);
79
- static void UV_GetData(uv_work_t *work_req);
80
- static void UV_AfterGetData(uv_work_t *work_req, int status);
81
- static void UV_Close(uv_work_t *work_req);
82
- static void UV_AfterClose(uv_work_t *work_req, int status);
83
-
84
- void OverrideFileColumns(Napi::Env env, Napi::Value row, int fetchMode);
85
-
86
- struct fetch_work_data
87
- {
88
- napi_env env;
89
- Napi::FunctionReference *cb;
90
- ODBCResult *objResult;
91
- SQLRETURN result;
92
- uint16_t fetchMode;
93
- int count;
94
- int maxCount;
95
- int errorCount;
96
- Napi::Reference<Napi::Array> *rows;
97
- Napi::Reference<Napi::Object> *objError;
98
- bool useBlockFetch;
99
- SQLULEN blockRowIndex;
100
- };
101
-
102
- struct getdata_work_data
103
- {
104
- napi_env env;
105
- Napi::FunctionReference *cb;
106
- ODBCResult *objResult;
107
- SQLUINTEGER colNum;
108
- SQLUINTEGER dataSize;
109
- };
110
-
111
- struct close_result_work_data
112
- {
113
- napi_env env;
114
- Napi::FunctionReference *cb;
115
- ODBCResult *objResult;
116
- SQLUSMALLINT closeOption;
117
- int result;
118
- };
119
-
120
- ODBCResult *self(void) { return this; }
121
-
122
- // Block fetch support
123
- bool InitBlockFetch();
124
- void FreeBlockFetchBuffers();
125
- bool BindColumnsForBlockFetch();
126
- Napi::Value GetBoundColumnValue(Napi::Env env, int colIndex, SQLULEN rowIndex);
127
- SQLRETURN BlockFetchNextRow(SQLULEN *outRowIndex);
128
-
129
- SQLHENV m_hENV;
130
- SQLHDBC m_hDBC;
131
- SQLHSTMT m_hSTMT;
132
- bool m_canFreeHandle;
133
- uint16_t m_fetchMode;
134
-
135
- uint16_t *buffer;
136
- size_t bufferLength;
137
- Column *columns;
138
- short colCount;
139
-
140
- SQLULEN m_rowArraySize;
141
- SQLULEN m_rowsFetched;
142
- SQLULEN m_currentRowInBlock;
143
- SQLUSMALLINT *m_rowStatusArray;
144
- BoundColumn *m_boundCols;
145
- bool m_blockFetchInitialized;
146
- bool m_blockExhausted;
147
-
148
- FileColumnBinding *m_fileColBindings;
149
- int m_fileColCount;
150
- };
151
-
152
- #endif
1
+ /*
2
+ Copyright (c) 2013, Dan VerWeire<dverweire@gmail.com>
3
+
4
+ Permission to use, copy, modify, and/or distribute this software for any
5
+ purpose with or without fee is hereby granted, provided that the above
6
+ copyright notice and this permission notice appear in all copies.
7
+
8
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14
+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15
+ */
16
+
17
+ #ifndef _SRC_ODBC_RESULT_H
18
+ #define _SRC_ODBC_RESULT_H
19
+
20
+ #include <napi.h>
21
+ #include <sqlext.h>
22
+
23
+ typedef struct {
24
+ SQLPOINTER data;
25
+ SQLLEN *indicators;
26
+ SQLSMALLINT cType;
27
+ SQLLEN elementSize;
28
+ } BoundColumn;
29
+
30
+ #define FILE_COL_MAX_PATH 1024
31
+ typedef struct {
32
+ bool bound;
33
+ char fileName[FILE_COL_MAX_PATH];
34
+ SQLSMALLINT fileNameLength;
35
+ SQLUINTEGER fileOption;
36
+ SQLINTEGER stringLength;
37
+ SQLINTEGER indicator;
38
+ } FileColumnBinding;
39
+
40
+ class ODBCResult : public Napi::ObjectWrap<ODBCResult>
41
+ {
42
+ public:
43
+ static Napi::FunctionReference constructor;
44
+ static Napi::Object Init(Napi::Env env, Napi::Object exports);
45
+
46
+ ODBCResult(const Napi::CallbackInfo &info);
47
+ ~ODBCResult();
48
+ void Free();
49
+
50
+ // Instance methods
51
+ Napi::Value Fetch(const Napi::CallbackInfo &info);
52
+ Napi::Value FetchSync(const Napi::CallbackInfo &info);
53
+ Napi::Value FetchAll(const Napi::CallbackInfo &info);
54
+ Napi::Value FetchAllSync(const Napi::CallbackInfo &info);
55
+ Napi::Value FetchN(const Napi::CallbackInfo &info);
56
+ Napi::Value FetchNSync(const Napi::CallbackInfo &info);
57
+ Napi::Value GetData(const Napi::CallbackInfo &info);
58
+ Napi::Value GetDataSync(const Napi::CallbackInfo &info);
59
+ Napi::Value Close(const Napi::CallbackInfo &info);
60
+ Napi::Value CloseSync(const Napi::CallbackInfo &info);
61
+ Napi::Value MoreResultsSync(const Napi::CallbackInfo &info);
62
+ Napi::Value GetColumnNamesSync(const Napi::CallbackInfo &info);
63
+ Napi::Value GetColumnMetadataSync(const Napi::CallbackInfo &info);
64
+ Napi::Value GetSQLErrorSync(const Napi::CallbackInfo &info);
65
+ Napi::Value GetAffectedRowsSync(const Napi::CallbackInfo &info);
66
+ Napi::Value BindFileToColSync(const Napi::CallbackInfo &info);
67
+
68
+ // Property getter/setter
69
+ Napi::Value FetchModeGetter(const Napi::CallbackInfo &info);
70
+ void FetchModeSetter(const Napi::CallbackInfo &info, const Napi::Value &value);
71
+
72
+ // UV callbacks
73
+ static void UV_Fetch(uv_work_t *work_req);
74
+ static void UV_AfterFetch(uv_work_t *work_req, int status);
75
+ static void UV_FetchAll(uv_work_t *work_req);
76
+ static void UV_AfterFetchAll(uv_work_t *work_req, int status);
77
+ static void UV_FetchN(uv_work_t *work_req);
78
+ static void UV_AfterFetchN(uv_work_t *work_req, int status);
79
+ static void UV_GetData(uv_work_t *work_req);
80
+ static void UV_AfterGetData(uv_work_t *work_req, int status);
81
+ static void UV_Close(uv_work_t *work_req);
82
+ static void UV_AfterClose(uv_work_t *work_req, int status);
83
+
84
+ void OverrideFileColumns(Napi::Env env, Napi::Value row, int fetchMode);
85
+
86
+ struct fetch_work_data
87
+ {
88
+ napi_env env;
89
+ Napi::FunctionReference *cb;
90
+ ODBCResult *objResult;
91
+ SQLRETURN result;
92
+ uint16_t fetchMode;
93
+ int count;
94
+ int maxCount;
95
+ int errorCount;
96
+ Napi::Reference<Napi::Array> *rows;
97
+ Napi::Reference<Napi::Object> *objError;
98
+ bool useBlockFetch;
99
+ SQLULEN blockRowIndex;
100
+ };
101
+
102
+ struct getdata_work_data
103
+ {
104
+ napi_env env;
105
+ Napi::FunctionReference *cb;
106
+ ODBCResult *objResult;
107
+ SQLUINTEGER colNum;
108
+ SQLUINTEGER dataSize;
109
+ };
110
+
111
+ struct close_result_work_data
112
+ {
113
+ napi_env env;
114
+ Napi::FunctionReference *cb;
115
+ ODBCResult *objResult;
116
+ SQLUSMALLINT closeOption;
117
+ int result;
118
+ };
119
+
120
+ ODBCResult *self(void) { return this; }
121
+
122
+ // Block fetch support
123
+ bool InitBlockFetch();
124
+ void FreeBlockFetchBuffers();
125
+ bool BindColumnsForBlockFetch();
126
+ Napi::Value GetBoundColumnValue(Napi::Env env, int colIndex, SQLULEN rowIndex);
127
+ SQLRETURN BlockFetchNextRow(SQLULEN *outRowIndex);
128
+
129
+ SQLHENV m_hENV;
130
+ SQLHDBC m_hDBC;
131
+ SQLHSTMT m_hSTMT;
132
+ bool m_canFreeHandle;
133
+ uint16_t m_fetchMode;
134
+
135
+ uint16_t *buffer;
136
+ size_t bufferLength;
137
+ Column *columns;
138
+ short colCount;
139
+
140
+ SQLULEN m_rowArraySize;
141
+ SQLULEN m_rowsFetched;
142
+ SQLULEN m_currentRowInBlock;
143
+ SQLUSMALLINT *m_rowStatusArray;
144
+ BoundColumn *m_boundCols;
145
+ bool m_blockFetchInitialized;
146
+ bool m_blockExhausted;
147
+
148
+ FileColumnBinding *m_fileColBindings;
149
+ int m_fileColCount;
150
+ };
151
+
152
+ #endif