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

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 (232) 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/axios/CHANGELOG.md +62 -0
  6. package/node_modules/axios/README.md +233 -5
  7. package/node_modules/axios/dist/axios.js +387 -89
  8. package/node_modules/axios/dist/axios.min.js +3 -3
  9. package/node_modules/axios/dist/axios.min.js.map +1 -1
  10. package/node_modules/axios/dist/browser/axios.cjs +458 -98
  11. package/node_modules/axios/dist/esm/axios.js +458 -98
  12. package/node_modules/axios/dist/esm/axios.min.js +2 -2
  13. package/node_modules/axios/dist/esm/axios.min.js.map +1 -1
  14. package/node_modules/axios/dist/node/axios.cjs +568 -116
  15. package/node_modules/axios/index.d.cts +4 -0
  16. package/node_modules/axios/index.d.ts +4 -0
  17. package/node_modules/axios/lib/adapters/fetch.js +64 -11
  18. package/node_modules/axios/lib/adapters/http.js +134 -50
  19. package/node_modules/axios/lib/adapters/xhr.js +52 -3
  20. package/node_modules/axios/lib/core/Axios.js +19 -14
  21. package/node_modules/axios/lib/core/InterceptorManager.js +107 -8
  22. package/node_modules/axios/lib/core/buildFullPath.js +1 -13
  23. package/node_modules/axios/lib/core/dispatchRequest.js +8 -2
  24. package/node_modules/axios/lib/core/mergeConfig.js +1 -1
  25. package/node_modules/axios/lib/core/methodList.js +17 -0
  26. package/node_modules/axios/lib/defaults/index.js +2 -1
  27. package/node_modules/axios/lib/env/data.js +1 -1
  28. package/node_modules/axios/lib/helpers/Http2Sessions.js +2 -0
  29. package/node_modules/axios/lib/helpers/HttpStatusCode.js +11 -1
  30. package/node_modules/axios/lib/helpers/fromDataURI.js +5 -4
  31. package/node_modules/axios/lib/helpers/normalizeURLForProtocolCheck.js +24 -0
  32. package/node_modules/axios/lib/helpers/progressEventReducer.js +1 -1
  33. package/node_modules/axios/lib/helpers/resolveConfig.js +4 -2
  34. package/node_modules/axios/lib/helpers/shouldBypassProxy.js +182 -6
  35. package/node_modules/axios/lib/helpers/throttle.js +3 -2
  36. package/node_modules/axios/lib/helpers/toFormData.js +14 -21
  37. package/node_modules/axios/lib/utils.js +134 -13
  38. package/node_modules/axios/package.json +1 -1
  39. package/node_modules/ibm_db/APIDocumentation.md +2883 -2024
  40. package/node_modules/ibm_db/LICENSE +23 -23
  41. package/node_modules/ibm_db/README.md +735 -735
  42. package/node_modules/ibm_db/binding.gyp +99 -98
  43. package/node_modules/ibm_db/installer/driverInstall.js +984 -958
  44. package/node_modules/ibm_db/installer/ifx.sh +38 -38
  45. package/node_modules/ibm_db/installer/setenv.sh +23 -23
  46. package/node_modules/ibm_db/installer/testODBCConnection.bat +51 -51
  47. package/node_modules/ibm_db/installer/testODBCConnection.sh +61 -61
  48. package/node_modules/ibm_db/lib/climacros.js +431 -431
  49. package/node_modules/ibm_db/lib/odbc.js +4293 -3487
  50. package/node_modules/ibm_db/lib/simple-queue.js +41 -41
  51. package/node_modules/ibm_db/package.json +70 -70
  52. package/node_modules/ibm_db/src/odbc.cpp +1495 -1396
  53. package/node_modules/ibm_db/src/odbc.h +477 -473
  54. package/node_modules/ibm_db/src/odbc_connection.cpp +1762 -1612
  55. package/node_modules/ibm_db/src/odbc_connection.h +228 -215
  56. package/node_modules/ibm_db/src/odbc_result.cpp +1547 -1547
  57. package/node_modules/ibm_db/src/odbc_result.h +152 -152
  58. package/node_modules/ibm_db/src/odbc_statement.cpp +2047 -861
  59. package/node_modules/ibm_db/src/odbc_statement.h +257 -135
  60. package/node_modules/ibm_db/src/strptime.c +389 -389
  61. package/node_modules/ibm_db/src/strptime.h +46 -46
  62. package/node_modules/ibm_db/test/README +23 -23
  63. package/node_modules/ibm_db/test/bench-insert.js +62 -62
  64. package/node_modules/ibm_db/test/bench-insertBatch10.js +74 -74
  65. package/node_modules/ibm_db/test/bench-insertBatch100.js +75 -75
  66. package/node_modules/ibm_db/test/bench-insertBatch1000.js +75 -75
  67. package/node_modules/ibm_db/test/bench-insertBatch10000.js +75 -75
  68. package/node_modules/ibm_db/test/bench-prepare-bind-execute-closeSync.js +60 -60
  69. package/node_modules/ibm_db/test/bench-prepare-bind-executeNonQuery.js +53 -53
  70. package/node_modules/ibm_db/test/bench-prepare-bindSync-execute-closeSync.js +50 -50
  71. package/node_modules/ibm_db/test/bench-prepare-bindSync-executeNonQuery.js +48 -48
  72. package/node_modules/ibm_db/test/bench-prepare-execute-closeSync.js +51 -51
  73. package/node_modules/ibm_db/test/bench-prepare-executeNonQuery.js +47 -47
  74. package/node_modules/ibm_db/test/bench-prepare-not.js +43 -43
  75. package/node_modules/ibm_db/test/bench-query-fetch.js +59 -59
  76. package/node_modules/ibm_db/test/bench-query-fetchAll.js +49 -49
  77. package/node_modules/ibm_db/test/bench-query-fetchAllSync.js +43 -43
  78. package/node_modules/ibm_db/test/bench-query.js +40 -40
  79. package/node_modules/ibm_db/test/bench-querySync-fetchArray.js +28 -28
  80. package/node_modules/ibm_db/test/bench-querySync.js +29 -29
  81. package/node_modules/ibm_db/test/common.d.ts +10 -10
  82. package/node_modules/ibm_db/test/common.js +127 -127
  83. package/node_modules/ibm_db/test/config.json +7 -7
  84. package/node_modules/ibm_db/test/config.zos.json +4 -4
  85. package/node_modules/ibm_db/test/data/sample1.txt +9 -9
  86. package/node_modules/ibm_db/test/data/trc.fmt +30114 -30114
  87. package/node_modules/ibm_db/test/nodeEE-leak-huge-query.js +152 -152
  88. package/node_modules/ibm_db/test/nodeEE-leak-multiple-query-multiple-connections.js +148 -148
  89. package/node_modules/ibm_db/test/nodeEE-leak-multiple-query-pool-connections.js +154 -154
  90. package/node_modules/ibm_db/test/nodeEE-leak-multiple-query.js +133 -133
  91. package/node_modules/ibm_db/test/nodeEE-stress-async-waterfall-multiple-connections.js +174 -174
  92. package/node_modules/ibm_db/test/nodeEE-stress-async-waterfall.js +169 -169
  93. package/node_modules/ibm_db/test/nodeEE-stress-mixed-query-multiple-connections.js +159 -159
  94. package/node_modules/ibm_db/test/nodeEE-stress-mixed-query.js +148 -148
  95. package/node_modules/ibm_db/test/odbc-bench.c +123 -123
  96. package/node_modules/ibm_db/test/perfTest.js +53 -53
  97. package/node_modules/ibm_db/test/quick-example.sh +30 -30
  98. package/node_modules/ibm_db/test/quick-example.ts +80 -80
  99. package/node_modules/ibm_db/test/run-bench.js +96 -96
  100. package/node_modules/ibm_db/test/run-nodeEE.js +132 -132
  101. package/node_modules/ibm_db/test/run-tests.js +132 -138
  102. package/node_modules/ibm_db/test/sql-cli.js +28 -28
  103. package/node_modules/ibm_db/test/test-all-data-types.js +109 -109
  104. package/node_modules/ibm_db/test/test-array-insert.js +178 -178
  105. package/node_modules/ibm_db/test/test-async-await.js +105 -105
  106. package/node_modules/ibm_db/test/test-attributes.js +34 -34
  107. package/node_modules/ibm_db/test/test-bad-pool-connection-prepare-execute.js +57 -57
  108. package/node_modules/ibm_db/test/test-basic-test.js +138 -138
  109. package/node_modules/ibm_db/test/test-binary-array-insert.js +73 -73
  110. package/node_modules/ibm_db/test/test-blob-from-file.js +90 -90
  111. package/node_modules/ibm_db/test/test-blob-insert.js +144 -144
  112. package/node_modules/ibm_db/test/test-blob-stream-insert.js +321 -299
  113. package/node_modules/ibm_db/test/test-blob-to-file.js +370 -370
  114. package/node_modules/ibm_db/test/test-block-fetch.js +364 -364
  115. package/node_modules/ibm_db/test/test-blocking-issue210.js +123 -123
  116. package/node_modules/ibm_db/test/test-call-async.js +64 -64
  117. package/node_modules/ibm_db/test/test-call-stmt.js +53 -53
  118. package/node_modules/ibm_db/test/test-cancel.js +703 -0
  119. package/node_modules/ibm_db/test/test-chinese-char.js +59 -59
  120. package/node_modules/ibm_db/test/test-connection.js +306 -0
  121. package/node_modules/ibm_db/test/test-date.js +32 -32
  122. package/node_modules/ibm_db/test/test-dbclob.js +93 -93
  123. package/node_modules/ibm_db/test/test-decimals.js +135 -135
  124. package/node_modules/ibm_db/test/test-describe-metadata.js +148 -0
  125. package/node_modules/ibm_db/test/test-executeFile.js +167 -167
  126. package/node_modules/ibm_db/test/test-executeFileSync.js +85 -85
  127. package/node_modules/ibm_db/test/test-fetch-apis.js +146 -146
  128. package/node_modules/ibm_db/test/test-fetchN.js +130 -130
  129. package/node_modules/ibm_db/test/test-getinfo.js +197 -197
  130. package/node_modules/ibm_db/test/test-ibm-db-issue14.js +58 -58
  131. package/node_modules/ibm_db/test/test-ibm-db-issue17.js +54 -54
  132. package/node_modules/ibm_db/test/test-ibm-db-issue18.js +54 -54
  133. package/node_modules/ibm_db/test/test-issue-1059-fetchAll-undefined.js +67 -67
  134. package/node_modules/ibm_db/test/test-issue-1080-array-blob-insert.js +40 -0
  135. package/node_modules/ibm_db/test/test-issue-54.js +39 -39
  136. package/node_modules/ibm_db/test/test-issue-get-column-value-2.js +44 -44
  137. package/node_modules/ibm_db/test/test-issue211.js +80 -80
  138. package/node_modules/ibm_db/test/test-issue253.js +39 -39
  139. package/node_modules/ibm_db/test/test-max-pool-size.js +96 -96
  140. package/node_modules/ibm_db/test/test-memory-leaks-new-objects.js +32 -32
  141. package/node_modules/ibm_db/test/test-multi-open-query-close.js +75 -75
  142. package/node_modules/ibm_db/test/test-param-put-data.js +713 -0
  143. package/node_modules/ibm_db/test/test-pool-idle-connection.js +72 -72
  144. package/node_modules/ibm_db/test/test-pool-operations.js +325 -0
  145. package/node_modules/ibm_db/test/test-pool-stale-connections.js +111 -111
  146. package/node_modules/ibm_db/test/test-pool-uncommited.js +33 -33
  147. package/node_modules/ibm_db/test/test-prepare-execute.js +339 -0
  148. package/node_modules/ibm_db/test/test-prepareSync-multiple-execution.js +93 -93
  149. package/node_modules/ibm_db/test/test-primary-foreign-keys.js +246 -0
  150. package/node_modules/ibm_db/test/test-procedures.js +243 -0
  151. package/node_modules/ibm_db/test/test-promise-all-data-types.js +42 -42
  152. package/node_modules/ibm_db/test/test-query-operations.js +405 -0
  153. package/node_modules/ibm_db/test/test-quick-example.js +25 -25
  154. package/node_modules/ibm_db/test/test-row-array-insert.js +167 -167
  155. package/node_modules/ibm_db/test/test-sp-array.js +54 -54
  156. package/node_modules/ibm_db/test/test-sp-dbc-6000.js +88 -88
  157. package/node_modules/ibm_db/test/test-sp-memleak.js +136 -136
  158. package/node_modules/ibm_db/test/test-sp-resultset-execute.js +269 -269
  159. package/node_modules/ibm_db/test/test-sp-resultset.js +228 -228
  160. package/node_modules/ibm_db/test/test-transactions.js +261 -0
  161. package/node_modules/ibm_db/test/test-typescript.js +48 -48
  162. package/node_modules/ibm_db/test/test-xml-datatype.js +70 -70
  163. package/node_modules/ibm_db/test/testWebApp.js +56 -56
  164. package/node_modules/ibm_db/test/trace +51 -51
  165. package/node_modules/ibm_db/test/typescript-apis-test.js +978 -978
  166. package/node_modules/ibm_db/test/webapp.html +17 -17
  167. package/node_modules/ibm_db/test/webapp.js +79 -79
  168. package/node_modules/ibm_db/typescript/README.md +28 -28
  169. package/node_modules/ibm_db/typescript/dist/Database.d.ts +26 -0
  170. package/node_modules/ibm_db/typescript/dist/ODBCStatement.d.ts +93 -0
  171. package/package.json +10 -6
  172. package/node_modules/ibm_db/test/disabled/test-binding-statement-rebinding.js +0 -59
  173. package/node_modules/ibm_db/test/disabled/test-open-dont-close.js +0 -12
  174. package/node_modules/ibm_db/test/disabled/test-param-select-with-booleans-only.js +0 -21
  175. package/node_modules/ibm_db/test/disabled/test-param-select-with-decimals-only.js +0 -20
  176. package/node_modules/ibm_db/test/disabled/test-param-select-with-null.js +0 -21
  177. package/node_modules/ibm_db/test/disabled/test-param-select-with-nulls-mixed.js +0 -23
  178. package/node_modules/ibm_db/test/disabled/test-param-select-with-numbers-mixed.js +0 -22
  179. package/node_modules/ibm_db/test/disabled/test-param-select-with-numbers-only.js +0 -24
  180. package/node_modules/ibm_db/test/disabled/test-param-select-with-strings-only.js +0 -23
  181. package/node_modules/ibm_db/test/disabled/test-param-select-with-unicode.js +0 -15
  182. package/node_modules/ibm_db/test/disabled/test-prepare-bind-execute-closeSync.js +0 -62
  183. package/node_modules/ibm_db/test/disabled/test-prepare-bind-execute-error.js +0 -49
  184. package/node_modules/ibm_db/test/disabled/test-prepare-bind-execute-long-string.js +0 -63
  185. package/node_modules/ibm_db/test/disabled/test-prepare-bind-executeNonQuery.js +0 -63
  186. package/node_modules/ibm_db/test/disabled/test-prepare-bindSync-execute-closeSync.js +0 -46
  187. package/node_modules/ibm_db/test/disabled/test-prepare-bindSync-executeNonQuery.js +0 -50
  188. package/node_modules/ibm_db/test/disabled/test-prepare.js +0 -34
  189. package/node_modules/ibm_db/test/disabled/test-prepareSync.js +0 -29
  190. package/node_modules/ibm_db/test/disabled/test-query-select-fetchAll.js +0 -23
  191. package/node_modules/ibm_db/test/disabled/test-query-select-fetchAllSync.js +0 -23
  192. package/node_modules/ibm_db/test/disabled/test-query-select-unicode.js +0 -15
  193. package/node_modules/ibm_db/test/disabled/test-querySync-select-unicode.js +0 -20
  194. package/node_modules/ibm_db/test/test-affected-rows.js +0 -55
  195. package/node_modules/ibm_db/test/test-bad-connection-string.js +0 -30
  196. package/node_modules/ibm_db/test/test-binding-connection-timeOut.js +0 -31
  197. package/node_modules/ibm_db/test/test-binding-statement-executeSync.js +0 -84
  198. package/node_modules/ibm_db/test/test-binding-transaction-commit.js +0 -79
  199. package/node_modules/ibm_db/test/test-binding-transaction-commitSync.js +0 -53
  200. package/node_modules/ibm_db/test/test-closed.js +0 -14
  201. package/node_modules/ibm_db/test/test-connection-object.js +0 -16
  202. package/node_modules/ibm_db/test/test-describe-column.js +0 -92
  203. package/node_modules/ibm_db/test/test-describe-database.js +0 -18
  204. package/node_modules/ibm_db/test/test-describe-table.js +0 -31
  205. package/node_modules/ibm_db/test/test-domains-open.js +0 -19
  206. package/node_modules/ibm_db/test/test-global-open-close.js +0 -11
  207. package/node_modules/ibm_db/test/test-instantiate-one-and-end.js +0 -9
  208. package/node_modules/ibm_db/test/test-multi-open-close.js +0 -45
  209. package/node_modules/ibm_db/test/test-multi-openSync-closeSync.js +0 -52
  210. package/node_modules/ibm_db/test/test-open-close.js +0 -29
  211. package/node_modules/ibm_db/test/test-open-connectTimeout.js +0 -33
  212. package/node_modules/ibm_db/test/test-openSync.js +0 -31
  213. package/node_modules/ibm_db/test/test-pool-close.js +0 -120
  214. package/node_modules/ibm_db/test/test-pool-connect.js +0 -36
  215. package/node_modules/ibm_db/test/test-pool-rollbackTransaction.js +0 -35
  216. package/node_modules/ibm_db/test/test-prepareSync-bad-sql.js +0 -34
  217. package/node_modules/ibm_db/test/test-promise-open-close.js +0 -33
  218. package/node_modules/ibm_db/test/test-query-create-table-fetchSync.js +0 -23
  219. package/node_modules/ibm_db/test/test-query-create-table.js +0 -12
  220. package/node_modules/ibm_db/test/test-query-drop-table.js +0 -13
  221. package/node_modules/ibm_db/test/test-query-insert.js +0 -38
  222. package/node_modules/ibm_db/test/test-query-select-fetch.js +0 -21
  223. package/node_modules/ibm_db/test/test-query-select-fetchMode-array.js +0 -17
  224. package/node_modules/ibm_db/test/test-query-select.js +0 -64
  225. package/node_modules/ibm_db/test/test-queryResult.js +0 -35
  226. package/node_modules/ibm_db/test/test-queryStream.js +0 -43
  227. package/node_modules/ibm_db/test/test-querySync-select-with-exception.js +0 -25
  228. package/node_modules/ibm_db/test/test-querySync-select.js +0 -28
  229. package/node_modules/ibm_db/test/test-require-and-end.js +0 -8
  230. package/node_modules/ibm_db/test/test-statement-close.js +0 -118
  231. package/node_modules/ibm_db/test/test-transaction-commit-sync.js +0 -54
  232. package/node_modules/ibm_db/test/test-transaction-commit.js +0 -79
@@ -1,215 +1,228 @@
1
- /*
2
- Copyright (c) 2013, Dan VerWeire<dverweire@gmail.com>
3
- Copyright (c) 2010, Lee Smith<notwink@gmail.com>
4
-
5
- Permission to use, copy, modify, and/or distribute this software for any
6
- purpose with or without fee is hereby granted, provided that the above
7
- copyright notice and this permission notice appear in all copies.
8
-
9
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10
- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11
- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12
- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14
- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15
- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16
- */
17
-
18
- #ifndef _SRC_ODBC_CONNECTION_H
19
- #define _SRC_ODBC_CONNECTION_H
20
-
21
- #include <napi.h>
22
-
23
- #define DEFAULT_CONNECTION_TIMEOUT 30
24
-
25
- #ifdef UNICODE
26
- #define SQLCreateDb SQLCreateDbW
27
- #define SQLDropDb SQLDropDbW
28
- #endif
29
-
30
- #define CLI_INTERNAL_ATTRIBUTES 2569
31
-
32
- #ifndef SQL_DBMS_FUNCTIONLVL
33
- #define SQL_DBMS_FUNCTIONLVL 203
34
- #endif
35
-
36
- class ODBCConnection : public Napi::ObjectWrap<ODBCConnection>
37
- {
38
- public:
39
- static Napi::FunctionReference constructor;
40
- static Napi::Object Init(Napi::Env env, Napi::Object exports);
41
-
42
- ODBCConnection(const Napi::CallbackInfo &info);
43
- ~ODBCConnection();
44
- void Free();
45
-
46
- // Instance methods
47
- Napi::Value Open(const Napi::CallbackInfo &info);
48
- Napi::Value OpenSync(const Napi::CallbackInfo &info);
49
- Napi::Value Close(const Napi::CallbackInfo &info);
50
- Napi::Value CloseSync(const Napi::CallbackInfo &info);
51
- Napi::Value CreateDbSync(const Napi::CallbackInfo &info);
52
- Napi::Value DropDbSync(const Napi::CallbackInfo &info);
53
- Napi::Value CreateStatement(const Napi::CallbackInfo &info);
54
- Napi::Value CreateStatementSync(const Napi::CallbackInfo &info);
55
- Napi::Value Query(const Napi::CallbackInfo &info);
56
- Napi::Value QuerySync(const Napi::CallbackInfo &info);
57
- Napi::Value BeginTransaction(const Napi::CallbackInfo &info);
58
- Napi::Value BeginTransactionSync(const Napi::CallbackInfo &info);
59
- Napi::Value EndTransaction(const Napi::CallbackInfo &info);
60
- Napi::Value EndTransactionSync(const Napi::CallbackInfo &info);
61
- Napi::Value SetIsolationLevel(const Napi::CallbackInfo &info);
62
- Napi::Value GetInfo(const Napi::CallbackInfo &info);
63
- Napi::Value GetInfoSync(const Napi::CallbackInfo &info);
64
- Napi::Value GetTypeInfo(const Napi::CallbackInfo &info);
65
- Napi::Value GetTypeInfoSync(const Napi::CallbackInfo &info);
66
- Napi::Value GetFunctions(const Napi::CallbackInfo &info);
67
- Napi::Value GetFunctionsSync(const Napi::CallbackInfo &info);
68
- Napi::Value SetAttr(const Napi::CallbackInfo &info);
69
- Napi::Value SetAttrSync(const Napi::CallbackInfo &info);
70
- Napi::Value Columns(const Napi::CallbackInfo &info);
71
- Napi::Value Tables(const Napi::CallbackInfo &info);
72
-
73
- // Property getter/setters
74
- Napi::Value ConnectedGetter(const Napi::CallbackInfo &info);
75
- Napi::Value ConnectTimeoutGetter(const Napi::CallbackInfo &info);
76
- void ConnectTimeoutSetter(const Napi::CallbackInfo &info, const Napi::Value &value);
77
- Napi::Value SystemNamingGetter(const Napi::CallbackInfo &info);
78
- void SystemNamingSetter(const Napi::CallbackInfo &info, const Napi::Value &value);
79
-
80
- // UV async callbacks
81
- static void UV_Open(uv_work_t *work_req);
82
- static void UV_AfterOpen(uv_work_t *work_req, int status);
83
- static void SetConnectionAttributes(ODBCConnection *conn);
84
- static void UV_Close(uv_work_t *work_req);
85
- static void UV_AfterClose(uv_work_t *work_req, int status);
86
- static void UV_CreateStatement(uv_work_t *work_req);
87
- static void UV_AfterCreateStatement(uv_work_t *work_req, int status);
88
- static void UV_Query(uv_work_t *req);
89
- static void UV_AfterQuery(uv_work_t *req, int status);
90
- static void UV_Tables(uv_work_t *req);
91
- static void UV_Columns(uv_work_t *req);
92
- static void UV_BeginTransaction(uv_work_t *work_req);
93
- static void UV_AfterBeginTransaction(uv_work_t *work_req, int status);
94
- static void UV_EndTransaction(uv_work_t *work_req);
95
- static void UV_AfterEndTransaction(uv_work_t *work_req, int status);
96
- static void UV_GetInfo(uv_work_t *work_req);
97
- static void UV_AfterGetInfo(uv_work_t *work_req, int status);
98
- static void UV_GetTypeInfo(uv_work_t *work_req);
99
- static void UV_AfterGetTypeInfo(uv_work_t *work_req, int status);
100
- static void UV_GetFunctions(uv_work_t *work_req);
101
- static void UV_AfterGetFunctions(uv_work_t *work_req, int status);
102
- static void UV_SetAttr(uv_work_t *work_req);
103
- static void UV_AfterSetAttr(uv_work_t *work_req, int status);
104
-
105
- ODBCConnection *self(void) { return this; }
106
-
107
- SQLHENV m_hENV;
108
- SQLHDBC m_hDBC;
109
- SQLUSMALLINT canHaveMoreResults;
110
- bool systemNaming;
111
- bool connected;
112
- int statements;
113
- SQLUINTEGER connectTimeout;
114
- };
115
-
116
- struct create_statement_work_data
117
- {
118
- napi_env env;
119
- Napi::FunctionReference *cb;
120
- ODBCConnection *conn;
121
- SQLHSTMT hSTMT;
122
- int result;
123
- };
124
-
125
- struct query_work_data
126
- {
127
- napi_env env;
128
- Napi::FunctionReference *cb;
129
- ODBCConnection *conn;
130
- SQLHSTMT hSTMT;
131
-
132
- Parameter *params;
133
- int paramCount;
134
- int completionType;
135
- bool noResultObject;
136
- int32_t arraySize;
137
-
138
- void *sql;
139
- void *catalog;
140
- void *schema;
141
- void *table;
142
- void *type;
143
- void *column;
144
-
145
- int sqlLen;
146
- int sqlSize;
147
-
148
- int result;
149
- };
150
-
151
- struct open_connection_work_data
152
- {
153
- napi_env env;
154
- Napi::FunctionReference *cb;
155
- ODBCConnection *conn;
156
- int result;
157
- void *connection;
158
- int connectionLength;
159
- };
160
-
161
- struct close_connection_work_data
162
- {
163
- napi_env env;
164
- Napi::FunctionReference *cb;
165
- ODBCConnection *conn;
166
- int result;
167
- };
168
-
169
- struct getinfo_work_data
170
- {
171
- napi_env env;
172
- Napi::FunctionReference *cb;
173
- ODBCConnection *conn;
174
- SQLUSMALLINT infoType;
175
- SQLSMALLINT buffLen;
176
- SQLSMALLINT valueLen;
177
- void *buffer;
178
- SQLRETURN rc;
179
- };
180
-
181
- struct gettypeinfo_work_data
182
- {
183
- napi_env env;
184
- Napi::FunctionReference *cb;
185
- ODBCConnection *conn;
186
- SQLSMALLINT dataType;
187
- SQLHSTMT hSTMT;
188
- int result;
189
- };
190
-
191
- struct getfunctions_work_data
192
- {
193
- napi_env env;
194
- Napi::FunctionReference *cb;
195
- ODBCConnection *conn;
196
- SQLUSMALLINT functionId;
197
- SQLUSMALLINT supportedPtr;
198
- SQLUSMALLINT supportedArr[100];
199
- SQLRETURN result;
200
- };
201
-
202
- struct setattr_work_data
203
- {
204
- napi_env env;
205
- Napi::FunctionReference *cb;
206
- ODBCConnection *conn;
207
- SQLINTEGER attr;
208
- SQLPOINTER valuePtr;
209
- SQLINTEGER stringLength;
210
- SQLRETURN result;
211
- };
212
-
213
- Napi::Value getInfoValue(Napi::Env env, SQLUSMALLINT fInfoType, SQLPOINTER info);
214
-
215
- #endif
1
+ /*
2
+ Copyright (c) 2013, Dan VerWeire<dverweire@gmail.com>
3
+ Copyright (c) 2010, Lee Smith<notwink@gmail.com>
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted, provided that the above
7
+ copyright notice and this permission notice appear in all copies.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15
+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16
+ */
17
+
18
+ #ifndef _SRC_ODBC_CONNECTION_H
19
+ #define _SRC_ODBC_CONNECTION_H
20
+
21
+ #include <napi.h>
22
+
23
+ #define DEFAULT_CONNECTION_TIMEOUT 30
24
+
25
+ #ifdef UNICODE
26
+ #define SQLCreateDb SQLCreateDbW
27
+ #define SQLDropDb SQLDropDbW
28
+ #endif
29
+
30
+ #define CLI_INTERNAL_ATTRIBUTES 2569
31
+
32
+ #ifndef SQL_DBMS_FUNCTIONLVL
33
+ #define SQL_DBMS_FUNCTIONLVL 203
34
+ #endif
35
+
36
+ class ODBCConnection : public Napi::ObjectWrap<ODBCConnection>
37
+ {
38
+ public:
39
+ static Napi::FunctionReference constructor;
40
+ static Napi::Object Init(Napi::Env env, Napi::Object exports);
41
+
42
+ ODBCConnection(const Napi::CallbackInfo &info);
43
+ ~ODBCConnection();
44
+ void Free();
45
+
46
+ // Instance methods
47
+ Napi::Value Open(const Napi::CallbackInfo &info);
48
+ Napi::Value OpenSync(const Napi::CallbackInfo &info);
49
+ Napi::Value Close(const Napi::CallbackInfo &info);
50
+ Napi::Value CloseSync(const Napi::CallbackInfo &info);
51
+ Napi::Value CreateDbSync(const Napi::CallbackInfo &info);
52
+ Napi::Value DropDbSync(const Napi::CallbackInfo &info);
53
+ Napi::Value CreateStatement(const Napi::CallbackInfo &info);
54
+ Napi::Value CreateStatementSync(const Napi::CallbackInfo &info);
55
+ Napi::Value Query(const Napi::CallbackInfo &info);
56
+ Napi::Value QuerySync(const Napi::CallbackInfo &info);
57
+ Napi::Value BeginTransaction(const Napi::CallbackInfo &info);
58
+ Napi::Value BeginTransactionSync(const Napi::CallbackInfo &info);
59
+ Napi::Value EndTransaction(const Napi::CallbackInfo &info);
60
+ Napi::Value EndTransactionSync(const Napi::CallbackInfo &info);
61
+ Napi::Value SetIsolationLevel(const Napi::CallbackInfo &info);
62
+ Napi::Value GetInfo(const Napi::CallbackInfo &info);
63
+ Napi::Value GetInfoSync(const Napi::CallbackInfo &info);
64
+ Napi::Value GetTypeInfo(const Napi::CallbackInfo &info);
65
+ Napi::Value GetTypeInfoSync(const Napi::CallbackInfo &info);
66
+ Napi::Value GetFunctions(const Napi::CallbackInfo &info);
67
+ Napi::Value GetFunctionsSync(const Napi::CallbackInfo &info);
68
+ Napi::Value SetAttr(const Napi::CallbackInfo &info);
69
+ Napi::Value SetAttrSync(const Napi::CallbackInfo &info);
70
+ Napi::Value Columns(const Napi::CallbackInfo &info);
71
+ Napi::Value Tables(const Napi::CallbackInfo &info);
72
+ Napi::Value Cancel(const Napi::CallbackInfo &info);
73
+ Napi::Value CancelSync(const Napi::CallbackInfo &info);
74
+
75
+ // Property getter/setters
76
+ Napi::Value ConnectedGetter(const Napi::CallbackInfo &info);
77
+ Napi::Value ConnectTimeoutGetter(const Napi::CallbackInfo &info);
78
+ void ConnectTimeoutSetter(const Napi::CallbackInfo &info, const Napi::Value &value);
79
+ Napi::Value SystemNamingGetter(const Napi::CallbackInfo &info);
80
+ void SystemNamingSetter(const Napi::CallbackInfo &info, const Napi::Value &value);
81
+
82
+ // UV async callbacks
83
+ static void UV_Open(uv_work_t *work_req);
84
+ static void UV_AfterOpen(uv_work_t *work_req, int status);
85
+ static void SetConnectionAttributes(ODBCConnection *conn);
86
+ static void UV_Close(uv_work_t *work_req);
87
+ static void UV_AfterClose(uv_work_t *work_req, int status);
88
+ static void UV_CreateStatement(uv_work_t *work_req);
89
+ static void UV_AfterCreateStatement(uv_work_t *work_req, int status);
90
+ static void UV_Query(uv_work_t *req);
91
+ static void UV_AfterQuery(uv_work_t *req, int status);
92
+ static void UV_Tables(uv_work_t *req);
93
+ static void UV_Columns(uv_work_t *req);
94
+ static void UV_BeginTransaction(uv_work_t *work_req);
95
+ static void UV_AfterBeginTransaction(uv_work_t *work_req, int status);
96
+ static void UV_EndTransaction(uv_work_t *work_req);
97
+ static void UV_AfterEndTransaction(uv_work_t *work_req, int status);
98
+ static void UV_GetInfo(uv_work_t *work_req);
99
+ static void UV_AfterGetInfo(uv_work_t *work_req, int status);
100
+ static void UV_GetTypeInfo(uv_work_t *work_req);
101
+ static void UV_AfterGetTypeInfo(uv_work_t *work_req, int status);
102
+ static void UV_GetFunctions(uv_work_t *work_req);
103
+ static void UV_AfterGetFunctions(uv_work_t *work_req, int status);
104
+ static void UV_SetAttr(uv_work_t *work_req);
105
+ static void UV_AfterSetAttr(uv_work_t *work_req, int status);
106
+ static void UV_Cancel(uv_work_t *work_req);
107
+ static void UV_AfterCancel(uv_work_t *work_req, int status);
108
+
109
+ ODBCConnection *self(void) { return this; }
110
+
111
+ SQLHENV m_hENV;
112
+ SQLHDBC m_hDBC;
113
+ SQLUSMALLINT canHaveMoreResults;
114
+ bool systemNaming;
115
+ bool connected;
116
+ int statements;
117
+ SQLUINTEGER connectTimeout;
118
+ };
119
+
120
+ struct create_statement_work_data
121
+ {
122
+ napi_env env;
123
+ Napi::FunctionReference *cb;
124
+ ODBCConnection *conn;
125
+ SQLHSTMT hSTMT;
126
+ int result;
127
+ };
128
+
129
+ struct query_work_data
130
+ {
131
+ napi_env env;
132
+ Napi::FunctionReference *cb;
133
+ ODBCConnection *conn;
134
+ SQLHSTMT hSTMT;
135
+
136
+ Parameter *params;
137
+ int paramCount;
138
+ int completionType;
139
+ bool noResultObject;
140
+ int32_t arraySize;
141
+
142
+ void *sql;
143
+ void *catalog;
144
+ void *schema;
145
+ void *table;
146
+ void *type;
147
+ void *column;
148
+
149
+ int sqlLen;
150
+ int sqlSize;
151
+
152
+ int result;
153
+ };
154
+
155
+ struct open_connection_work_data
156
+ {
157
+ napi_env env;
158
+ Napi::FunctionReference *cb;
159
+ ODBCConnection *conn;
160
+ int result;
161
+ void *connection;
162
+ int connectionLength;
163
+ };
164
+
165
+ struct close_connection_work_data
166
+ {
167
+ napi_env env;
168
+ Napi::FunctionReference *cb;
169
+ ODBCConnection *conn;
170
+ int result;
171
+ };
172
+
173
+ struct getinfo_work_data
174
+ {
175
+ napi_env env;
176
+ Napi::FunctionReference *cb;
177
+ ODBCConnection *conn;
178
+ SQLUSMALLINT infoType;
179
+ SQLSMALLINT buffLen;
180
+ SQLSMALLINT valueLen;
181
+ void *buffer;
182
+ SQLRETURN rc;
183
+ };
184
+
185
+ struct gettypeinfo_work_data
186
+ {
187
+ napi_env env;
188
+ Napi::FunctionReference *cb;
189
+ ODBCConnection *conn;
190
+ SQLSMALLINT dataType;
191
+ SQLHSTMT hSTMT;
192
+ int result;
193
+ };
194
+
195
+ struct getfunctions_work_data
196
+ {
197
+ napi_env env;
198
+ Napi::FunctionReference *cb;
199
+ ODBCConnection *conn;
200
+ SQLUSMALLINT functionId;
201
+ SQLUSMALLINT supportedPtr;
202
+ SQLUSMALLINT supportedArr[100];
203
+ SQLRETURN result;
204
+ };
205
+
206
+ struct setattr_work_data
207
+ {
208
+ napi_env env;
209
+ Napi::FunctionReference *cb;
210
+ ODBCConnection *conn;
211
+ SQLINTEGER attr;
212
+ SQLPOINTER valuePtr;
213
+ SQLINTEGER stringLength;
214
+ SQLRETURN result;
215
+ };
216
+
217
+ struct cancel_work_data
218
+ {
219
+ napi_env env;
220
+ Napi::FunctionReference *cb;
221
+ ODBCConnection *conn;
222
+ SQLHSTMT hSTMT;
223
+ SQLRETURN result;
224
+ };
225
+
226
+ Napi::Value getInfoValue(Napi::Env env, SQLUSMALLINT fInfoType, SQLPOINTER info);
227
+
228
+ #endif