@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,30 +1,30 @@
1
- #!/bin/sh
2
-
3
- cd ..
4
- npm install -g typescript
5
- npm install --save-dev @types/node
6
- # update database connection info in test/config.json file or
7
- # set environment variables DB2_USER, DB2_PASSWD, etc.
8
- cd test
9
- tsc quick-example.ts
10
- # If above command fails, run with below command:
11
- # tsc quick-example.ts --target ES2016 --lib ES2016
12
- node quick-example.js
13
- rm quick-example.js
14
-
15
- # To run quick-example.ts using ts-node, Allow JavaScript
16
- # Modules in tsconfig.json file. For that -
17
- # Modify your tsconfig.json to allow JS modules:
18
- # Open tsconfig.json
19
- # Add or modify these options:
20
- # {
21
- # "compilerOptions": {
22
- # "allowJs": true, // Allow JS modules
23
- # "skipLibCheck": true, // Skip type checking for JS files
24
- # "noImplicitAny": false, // Allow 'any' type
25
- # "moduleResolution": "node" // Use Node.js module resolution
26
- # }
27
- # }
28
- # Save the file and rerun:
29
- # ts-node quick-example.ts
30
-
1
+ #!/bin/sh
2
+
3
+ cd ..
4
+ npm install -g typescript
5
+ npm install --save-dev @types/node
6
+ # update database connection info in test/config.json file or
7
+ # set environment variables DB2_USER, DB2_PASSWD, etc.
8
+ cd test
9
+ tsc quick-example.ts
10
+ # If above command fails, run with below command:
11
+ # tsc quick-example.ts --target ES2016 --lib ES2016
12
+ node quick-example.js
13
+ rm quick-example.js
14
+
15
+ # To run quick-example.ts using ts-node, Allow JavaScript
16
+ # Modules in tsconfig.json file. For that -
17
+ # Modify your tsconfig.json to allow JS modules:
18
+ # Open tsconfig.json
19
+ # Add or modify these options:
20
+ # {
21
+ # "compilerOptions": {
22
+ # "allowJs": true, // Allow JS modules
23
+ # "skipLibCheck": true, // Skip type checking for JS files
24
+ # "noImplicitAny": false, // Allow 'any' type
25
+ # "moduleResolution": "node" // Use Node.js module resolution
26
+ # }
27
+ # }
28
+ # Save the file and rerun:
29
+ # ts-node quick-example.ts
30
+
@@ -1,80 +1,80 @@
1
- // To run this quick-example.ts file, follow below steps
2
- // npm install -g typescript
3
- // npm install --save-dev @types/node
4
- // update database connection info in ../test/config.json file or
5
- // set environment variables DB2_USER, DB2_PASSWD, etc.
6
- // tsc quick-example.ts --target ES2016 --lib ES2016
7
- // node quick-example.js
8
- // OR, run:
9
- // tsc quick-example.ts && node quick-example.js && rm quick-example.js
10
- //
11
- // To run this test program using ts-node, Allow JavaScript
12
- // Modules in tsconfig.json file. For that -
13
- // Modify your tsconfig.json to allow JS modules:
14
- // Open tsconfig.json
15
- // Add or modify these options:
16
- // {
17
- // "compilerOptions": {
18
- // "allowJs": true, // Allow JS modules
19
- // "skipLibCheck": true, // Skip type checking for JS files
20
- // "noImplicitAny": false, // Allow 'any' type
21
- // "moduleResolution": "node" // Use Node.js module resolution
22
- // }
23
- // }
24
- // Save the file and rerun:
25
- // ts-node quick-example.ts
26
-
27
- import * as common from "./common";
28
- import * as ibmdb from "../";
29
- import * as assert from "assert";
30
-
31
- // Define connection string
32
- const cn: string = common.connectionString;
33
-
34
- async function main(): Promise<void> {
35
- try {
36
- // Open connection
37
- const conn = await ibmdb.open(cn);
38
-
39
- // Execute queries
40
- await conn.query("create table mytab(c1 int, c2 varchar(10))");
41
- await conn.query("insert into mytab values (?, ?)", [3, 'ibm']);
42
-
43
- // Prepare and execute statement
44
- const stmt = await conn.prepare("select * from mytab");
45
- let result = await stmt.execute();
46
- if(Array.isArray(result)) {
47
- result = result[0];
48
- }
49
- const rows = await result.fetchAll();
50
- type RowData = { C1: number; C2: string };
51
- let data: RowData[] = [];
52
- if( rows[0] && !(Array.isArray(rows[0])) ) {
53
- data = rows as RowData[];
54
- }
55
-
56
- // Log results
57
- console.log("result = ", data);
58
- console.log("C2 =", data[0]?.C2);
59
- assert.deepEqual(data, [{ C1: 3, C2: 'ibm' }]);
60
-
61
- // Close resources
62
- await result.close();
63
- await stmt.close();
64
-
65
- // Drop table (ignore errors)
66
- await conn.query("drop table mytab").catch((e: Error) => console.error("Drop table error:", e));
67
-
68
- await conn.close();
69
- } catch (e: unknown) { // Explicitly type as `unknown` and check type
70
- if (e instanceof Error) {
71
- console.error("Error:", e.message);
72
- } else {
73
- console.error("An unknown error occurred:", e);
74
- }
75
- }
76
- }
77
-
78
- // Run the function
79
- main();
80
-
1
+ // To run this quick-example.ts file, follow below steps
2
+ // npm install -g typescript
3
+ // npm install --save-dev @types/node
4
+ // update database connection info in ../test/config.json file or
5
+ // set environment variables DB2_USER, DB2_PASSWD, etc.
6
+ // tsc quick-example.ts --target ES2016 --lib ES2016
7
+ // node quick-example.js
8
+ // OR, run:
9
+ // tsc quick-example.ts && node quick-example.js && rm quick-example.js
10
+ //
11
+ // To run this test program using ts-node, Allow JavaScript
12
+ // Modules in tsconfig.json file. For that -
13
+ // Modify your tsconfig.json to allow JS modules:
14
+ // Open tsconfig.json
15
+ // Add or modify these options:
16
+ // {
17
+ // "compilerOptions": {
18
+ // "allowJs": true, // Allow JS modules
19
+ // "skipLibCheck": true, // Skip type checking for JS files
20
+ // "noImplicitAny": false, // Allow 'any' type
21
+ // "moduleResolution": "node" // Use Node.js module resolution
22
+ // }
23
+ // }
24
+ // Save the file and rerun:
25
+ // ts-node quick-example.ts
26
+
27
+ import * as common from "./common";
28
+ import * as ibmdb from "../";
29
+ import * as assert from "assert";
30
+
31
+ // Define connection string
32
+ const cn: string = common.connectionString;
33
+
34
+ async function main(): Promise<void> {
35
+ try {
36
+ // Open connection
37
+ const conn = await ibmdb.open(cn);
38
+
39
+ // Execute queries
40
+ await conn.query("create table mytab(c1 int, c2 varchar(10))");
41
+ await conn.query("insert into mytab values (?, ?)", [3, 'ibm']);
42
+
43
+ // Prepare and execute statement
44
+ const stmt = await conn.prepare("select * from mytab");
45
+ let result = await stmt.execute();
46
+ if(Array.isArray(result)) {
47
+ result = result[0];
48
+ }
49
+ const rows = await result.fetchAll();
50
+ type RowData = { C1: number; C2: string };
51
+ let data: RowData[] = [];
52
+ if( rows[0] && !(Array.isArray(rows[0])) ) {
53
+ data = rows as RowData[];
54
+ }
55
+
56
+ // Log results
57
+ console.log("result = ", data);
58
+ console.log("C2 =", data[0]?.C2);
59
+ assert.deepEqual(data, [{ C1: 3, C2: 'ibm' }]);
60
+
61
+ // Close resources
62
+ await result.close();
63
+ await stmt.close();
64
+
65
+ // Drop table (ignore errors)
66
+ await conn.query("drop table mytab").catch((e: Error) => console.error("Drop table error:", e));
67
+
68
+ await conn.close();
69
+ } catch (e: unknown) { // Explicitly type as `unknown` and check type
70
+ if (e instanceof Error) {
71
+ console.error("Error:", e.message);
72
+ } else {
73
+ console.error("An unknown error occurred:", e);
74
+ }
75
+ }
76
+ }
77
+
78
+ // Run the function
79
+ main();
80
+
@@ -1,96 +1,96 @@
1
- var fs = require("fs")
2
- , common = require('./common.js')
3
- , spawn = require("child_process").spawn
4
- , requestedBench = null
5
- , errorCount = 0
6
- , testCount = 0
7
- , files
8
- ;
9
-
10
- if (process.argv.length === 3) {
11
- requestedBench = process.argv[2];
12
- }
13
-
14
- var connectionStrings = common.benchConnectionStrings;
15
-
16
- //check to see if the requested test is actually a driver to benchmark
17
- if (requestedBench) {
18
- connectionStrings.forEach(function (connectionString) {
19
- if (requestedBench == connectionString.title) {
20
- connectionStrings = [connectionString];
21
- requestedBench = null;
22
- }
23
- });
24
- }
25
-
26
- doNextConnectionString();
27
-
28
- function doBench(file, connectionString) {
29
- var bench = spawn("node", ['--expose_gc',file, connectionString.connectionString]);
30
-
31
- process.stdout.write("Running test for [\033[01;29m" + connectionString.title + "\033[01;0m] : \033[01;33m" +
32
- file.replace(/\.js$/, "") + "\033[01;0m");
33
- process.stdout.write(" ... ");
34
-
35
- testCount += 1;
36
-
37
- bench.on("exit", function (code, signal) {
38
- process.stdout.write(" ... ");
39
- if (code != 0) {
40
- errorCount += 1;
41
- process.stdout.write("\033[01;31mfail \033[01;0m ");
42
- }
43
- else {
44
- process.stdout.write("\033[01;32msuccess \033[01;0m ");
45
- }
46
- process.stdout.write("\n");
47
-
48
- doNextBench(connectionString);
49
- });
50
-
51
- bench.stdout.on("data", function (data) {
52
- process.stdout.write(data);
53
- });
54
- }
55
-
56
- function doNextBench(connectionString) {
57
- if (files.length) {
58
- var benchFile = files.shift();
59
-
60
- doBench(benchFile, connectionString);
61
- }
62
- else {
63
- //we're done with this connection string, display results and exit accordingly
64
- doNextConnectionString();
65
- }
66
- }
67
-
68
- function doNextConnectionString() {
69
- if (connectionStrings.length) {
70
- var connectionString = connectionStrings.shift();
71
-
72
- if (requestedBench) {
73
- files = [requestedBench];
74
- }
75
- else {
76
- //re-read files
77
- files = fs.readdirSync("./");
78
-
79
- files = files.filter(function (file) {
80
- return (/^bench-/.test(file)) ? true : false;
81
- });
82
-
83
- files.sort();
84
- }
85
-
86
- doNextBench(connectionString);
87
- }
88
- else {
89
- if (errorCount) {
90
- console.log("\nResults : %s of %s tests failed.\n", errorCount, testCount);
91
- }
92
- else {
93
- console.log("Results : All tests were successful. Total %s files executed.", testCount);
94
- }
95
- }
96
- }
1
+ var fs = require("fs")
2
+ , common = require('./common.js')
3
+ , spawn = require("child_process").spawn
4
+ , requestedBench = null
5
+ , errorCount = 0
6
+ , testCount = 0
7
+ , files
8
+ ;
9
+
10
+ if (process.argv.length === 3) {
11
+ requestedBench = process.argv[2];
12
+ }
13
+
14
+ var connectionStrings = common.benchConnectionStrings;
15
+
16
+ //check to see if the requested test is actually a driver to benchmark
17
+ if (requestedBench) {
18
+ connectionStrings.forEach(function (connectionString) {
19
+ if (requestedBench == connectionString.title) {
20
+ connectionStrings = [connectionString];
21
+ requestedBench = null;
22
+ }
23
+ });
24
+ }
25
+
26
+ doNextConnectionString();
27
+
28
+ function doBench(file, connectionString) {
29
+ var bench = spawn("node", ['--expose_gc',file, connectionString.connectionString]);
30
+
31
+ process.stdout.write("Running test for [\033[01;29m" + connectionString.title + "\033[01;0m] : \033[01;33m" +
32
+ file.replace(/\.js$/, "") + "\033[01;0m");
33
+ process.stdout.write(" ... ");
34
+
35
+ testCount += 1;
36
+
37
+ bench.on("exit", function (code, signal) {
38
+ process.stdout.write(" ... ");
39
+ if (code != 0) {
40
+ errorCount += 1;
41
+ process.stdout.write("\033[01;31mfail \033[01;0m ");
42
+ }
43
+ else {
44
+ process.stdout.write("\033[01;32msuccess \033[01;0m ");
45
+ }
46
+ process.stdout.write("\n");
47
+
48
+ doNextBench(connectionString);
49
+ });
50
+
51
+ bench.stdout.on("data", function (data) {
52
+ process.stdout.write(data);
53
+ });
54
+ }
55
+
56
+ function doNextBench(connectionString) {
57
+ if (files.length) {
58
+ var benchFile = files.shift();
59
+
60
+ doBench(benchFile, connectionString);
61
+ }
62
+ else {
63
+ //we're done with this connection string, display results and exit accordingly
64
+ doNextConnectionString();
65
+ }
66
+ }
67
+
68
+ function doNextConnectionString() {
69
+ if (connectionStrings.length) {
70
+ var connectionString = connectionStrings.shift();
71
+
72
+ if (requestedBench) {
73
+ files = [requestedBench];
74
+ }
75
+ else {
76
+ //re-read files
77
+ files = fs.readdirSync("./");
78
+
79
+ files = files.filter(function (file) {
80
+ return (/^bench-/.test(file)) ? true : false;
81
+ });
82
+
83
+ files.sort();
84
+ }
85
+
86
+ doNextBench(connectionString);
87
+ }
88
+ else {
89
+ if (errorCount) {
90
+ console.log("\nResults : %s of %s tests failed.\n", errorCount, testCount);
91
+ }
92
+ else {
93
+ console.log("Results : All tests were successful. Total %s files executed.", testCount);
94
+ }
95
+ }
96
+ }