@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,54 +1,54 @@
1
- /*require the ibm_db module*/
2
- var common = require("./common")
3
- , ibmdb = require("../")
4
- , assert = require("assert")
5
- , db = new ibmdb.Database();
6
-
7
- var connString = 'DRIVER={DB2 ODBC Driver};DATABASE=SAMPLE;UID=db2admin;PWD=db2admin;HOSTNAME=localhost;port=50000;PROTOCOL=TCPIP';
8
-
9
- console.log("Test program to access DB2 sample database");
10
-
11
- /*Connect to the database server
12
- param 1: The DSN string which has the details of database name to connect to, user id, password, hostname, portnumber
13
- param 2: The Callback function to execute when connection attempt to the specified database is completed
14
- */
15
- ibmdb.open(common.connectionString, function(err, conn)
16
- {
17
- if(err) {
18
- console.error("error: ", err.message);
19
- assert.equal(err.message, null);
20
- } else {
21
-
22
- console.log('Connection to DB2 machine successful');
23
-
24
- /*
25
- On successful connection issue the SQL query by calling the query() function on Database
26
- param 1: The SQL query to be issued
27
- param 2: The callback function to execute when the database server responds
28
- */
29
- conn.query("SELECT TIMESTAMP_FORMAT('1999-12-31 23:59:59.123', 'YYYY-MM-DD HH24:MI:SS.FF') AS TD FROM SYSIBM.SYSDUMMY1;", function(err, nodetest, moreResultSets) {
30
-
31
- if(err) {
32
- console.log('Error: '+err);
33
- process.exit(0);
34
- }
35
- console.log('Fetched Row Count: '+nodetest.length);
36
- console.log("TIME");
37
- console.log("-----------------------");
38
-
39
- for (var i=0;i<nodetest.length;i++)
40
- {
41
- console.log(nodetest[i].TD);
42
- }
43
- console.log("-----------------------");
44
-
45
- /*
46
- Close the connection to the database
47
- param 1: The callback function to execute on completion of close function.
48
- */
49
- conn.close(function(){
50
- console.log("Connection Closed");
51
- });
52
- });
53
- }
54
- });
1
+ /*require the ibm_db module*/
2
+ var common = require("./common")
3
+ , ibmdb = require("../")
4
+ , assert = require("assert")
5
+ , db = new ibmdb.Database();
6
+
7
+ var connString = 'DRIVER={DB2 ODBC Driver};DATABASE=SAMPLE;UID=db2admin;PWD=db2admin;HOSTNAME=localhost;port=50000;PROTOCOL=TCPIP';
8
+
9
+ console.log("Test program to access DB2 sample database");
10
+
11
+ /*Connect to the database server
12
+ param 1: The DSN string which has the details of database name to connect to, user id, password, hostname, portnumber
13
+ param 2: The Callback function to execute when connection attempt to the specified database is completed
14
+ */
15
+ ibmdb.open(common.connectionString, function(err, conn)
16
+ {
17
+ if(err) {
18
+ console.error("error: ", err.message);
19
+ assert.equal(err.message, null);
20
+ } else {
21
+
22
+ console.log('Connection to DB2 machine successful');
23
+
24
+ /*
25
+ On successful connection issue the SQL query by calling the query() function on Database
26
+ param 1: The SQL query to be issued
27
+ param 2: The callback function to execute when the database server responds
28
+ */
29
+ conn.query("SELECT TIMESTAMP_FORMAT('1999-12-31 23:59:59.123', 'YYYY-MM-DD HH24:MI:SS.FF') AS TD FROM SYSIBM.SYSDUMMY1;", function(err, nodetest, moreResultSets) {
30
+
31
+ if(err) {
32
+ console.log('Error: '+err);
33
+ process.exit(0);
34
+ }
35
+ console.log('Fetched Row Count: '+nodetest.length);
36
+ console.log("TIME");
37
+ console.log("-----------------------");
38
+
39
+ for (var i=0;i<nodetest.length;i++)
40
+ {
41
+ console.log(nodetest[i].TD);
42
+ }
43
+ console.log("-----------------------");
44
+
45
+ /*
46
+ Close the connection to the database
47
+ param 1: The callback function to execute on completion of close function.
48
+ */
49
+ conn.close(function(){
50
+ console.log("Connection Closed");
51
+ });
52
+ });
53
+ }
54
+ });
@@ -1,67 +1,67 @@
1
- "use strict";
2
-
3
- // Regression test for https://github.com/ibmdb/node-ibm_db/issues/1059
4
- // Node.js 24+ returns undefined column values (row count correct).
5
-
6
- var ibmdb = require("../");
7
- var common = require("./common");
8
- var assert = require("assert");
9
-
10
- var rolesTable = "NODE1059_ROLES";
11
- var userRolesTable = "NODE1059_USER_ROLES";
12
-
13
- function setupTables(conn) {
14
- console.log("Runtime =", process.version, "V8 =", process.versions.v8);
15
- try {
16
- conn.querySync("drop table " + userRolesTable);
17
- conn.querySync("drop table " + rolesTable);
18
- } catch (e) {}
19
-
20
- conn.querySync(
21
- "create table " + rolesTable +
22
- " (ID INT NOT NULL, ROLE_NAME VARCHAR(50) NOT NULL, EMAIL VARCHAR(256) NOT NULL, PRIMARY KEY (ID))"
23
- );
24
- conn.querySync(
25
- "create table " + userRolesTable +
26
- " (ID INT NOT NULL, ROLE_ID INT NOT NULL, EMAIL VARCHAR(256) NOT NULL, PRIMARY KEY (ID))"
27
- );
28
-
29
- conn.querySync("insert into " + rolesTable + " values (?, ?, ?)", [1, "ADMIN", "test.123@abc.com"]);
30
- conn.querySync("insert into " + rolesTable + " values (?, ?, ?)", [2, "USER", "test.123@abc.com"]);
31
- conn.querySync("insert into " + rolesTable + " values (?, ?, ?)", [3, "VIEWER", "xyz@abc.com"]);
32
-
33
- conn.querySync("insert into " + userRolesTable + " values (?, ?, ?)", [1, 1, "test.123@abc.com"]);
34
- conn.querySync("insert into " + userRolesTable + " values (?, ?, ?)", [2, 1, "test.123@abc.com"]);
35
- conn.querySync("insert into " + userRolesTable + " values (?, ?, ?)", [3, 2, "xyz@abc.com"]);
36
- }
37
-
38
- ibmdb.open(common.connectionString, function (err, conn) {
39
- if (err) {
40
- console.error("Connection error:", err);
41
- return;
42
- }
43
- try {
44
- setupTables(conn);
45
- } catch (e) {
46
- console.error("Failed to set up tables: ", e);
47
- conn.close();
48
- return;
49
- }
50
- var sql = "SELECT DISTINCT ROLE_NAME FROM " + userRolesTable + " a " +
51
- "JOIN " + rolesTable + " r ON r.ID = a.ID WHERE a.EMAIL = ?";
52
-
53
- conn.prepare(sql, function (err, stmt) {
54
- stmt.execute(["test.123@abc.com"], function (err, result) {
55
- result.fetchAll(function (err, data) {
56
- console.log(data);
57
- conn.querySync("drop table " + userRolesTable);
58
- conn.querySync("drop table " + rolesTable);
59
- conn.close();
60
- assert.strictEqual(data.length, 2, "Expected 2 rows");
61
- assert.strictEqual(data[0].ROLE_NAME, "ADMIN", "Expected first role to be ADMIN");
62
- assert.strictEqual(data[1].ROLE_NAME, "USER", "Expected second role to be USER");
63
- console.log("issue1059 test passed");
64
- });
65
- });
66
- });
67
- });
1
+ "use strict";
2
+
3
+ // Regression test for https://github.com/ibmdb/node-ibm_db/issues/1059
4
+ // Node.js 24+ returns undefined column values (row count correct).
5
+
6
+ var ibmdb = require("../");
7
+ var common = require("./common");
8
+ var assert = require("assert");
9
+
10
+ var rolesTable = "NODE1059_ROLES";
11
+ var userRolesTable = "NODE1059_USER_ROLES";
12
+
13
+ function setupTables(conn) {
14
+ console.log("Runtime =", process.version, "V8 =", process.versions.v8);
15
+ try {
16
+ conn.querySync("drop table " + userRolesTable);
17
+ conn.querySync("drop table " + rolesTable);
18
+ } catch (e) {}
19
+
20
+ conn.querySync(
21
+ "create table " + rolesTable +
22
+ " (ID INT NOT NULL, ROLE_NAME VARCHAR(50) NOT NULL, EMAIL VARCHAR(256) NOT NULL, PRIMARY KEY (ID))"
23
+ );
24
+ conn.querySync(
25
+ "create table " + userRolesTable +
26
+ " (ID INT NOT NULL, ROLE_ID INT NOT NULL, EMAIL VARCHAR(256) NOT NULL, PRIMARY KEY (ID))"
27
+ );
28
+
29
+ conn.querySync("insert into " + rolesTable + " values (?, ?, ?)", [1, "ADMIN", "test.123@abc.com"]);
30
+ conn.querySync("insert into " + rolesTable + " values (?, ?, ?)", [2, "USER", "test.123@abc.com"]);
31
+ conn.querySync("insert into " + rolesTable + " values (?, ?, ?)", [3, "VIEWER", "xyz@abc.com"]);
32
+
33
+ conn.querySync("insert into " + userRolesTable + " values (?, ?, ?)", [1, 1, "test.123@abc.com"]);
34
+ conn.querySync("insert into " + userRolesTable + " values (?, ?, ?)", [2, 1, "test.123@abc.com"]);
35
+ conn.querySync("insert into " + userRolesTable + " values (?, ?, ?)", [3, 2, "xyz@abc.com"]);
36
+ }
37
+
38
+ ibmdb.open(common.connectionString, function (err, conn) {
39
+ if (err) {
40
+ console.error("Connection error:", err);
41
+ return;
42
+ }
43
+ try {
44
+ setupTables(conn);
45
+ } catch (e) {
46
+ console.error("Failed to set up tables: ", e);
47
+ conn.close();
48
+ return;
49
+ }
50
+ var sql = "SELECT DISTINCT ROLE_NAME FROM " + userRolesTable + " a " +
51
+ "JOIN " + rolesTable + " r ON r.ID = a.ID WHERE a.EMAIL = ?";
52
+
53
+ conn.prepare(sql, function (err, stmt) {
54
+ stmt.execute(["test.123@abc.com"], function (err, result) {
55
+ result.fetchAll(function (err, data) {
56
+ console.log(data);
57
+ conn.querySync("drop table " + userRolesTable);
58
+ conn.querySync("drop table " + rolesTable);
59
+ conn.close();
60
+ assert.strictEqual(data.length, 2, "Expected 2 rows");
61
+ assert.strictEqual(data[0].ROLE_NAME, "ADMIN", "Expected first role to be ADMIN");
62
+ assert.strictEqual(data[1].ROLE_NAME, "USER", "Expected second role to be USER");
63
+ console.log("issue1059 test passed");
64
+ });
65
+ });
66
+ });
67
+ });
@@ -0,0 +1,40 @@
1
+ // Regression test for issue #1080:
2
+ // Column-wise ARRAY insert of BLOB values (Data: array of per-row Buffers)
3
+ // was mis-detected as a data-at-exec chunked LOB insert because parseParams()
4
+ // only looked at the shape of Data and ignored ParamType:"ARRAY".
5
+ var common = require("./common")
6
+ , ibmdb = require("../")
7
+ , assert = require("assert");
8
+
9
+ ibmdb.open(common.connectionString, function(err, conn) {
10
+ if (err) {
11
+ console.log(err);
12
+ return;
13
+ }
14
+
15
+ try { conn.querySync("drop table array_blob_test"); } catch (e) {}
16
+ conn.querySync("create table array_blob_test (id integer, b blob(1M))");
17
+
18
+ var queryOptions = {
19
+ sql: "insert into array_blob_test values (?, ?)",
20
+ params: [
21
+ { ParamType: "ARRAY", DataType: 1, Data: [1, 2, 3] },
22
+ { ParamType: "ARRAY", SQLType: "BLOB", DataType: "BLOB",
23
+ Data: [Buffer.from("one"), Buffer.from("two"), Buffer.from("three")], Length: 5 }
24
+ ],
25
+ ArraySize: 3
26
+ };
27
+
28
+ conn.querySync(queryOptions);
29
+
30
+ var data = conn.querySync("select id, b from array_blob_test order by id");
31
+ conn.querySync("drop table array_blob_test");
32
+ conn.closeSync();
33
+
34
+ assert.strictEqual(data.length, 3);
35
+ assert.strictEqual(data[0].B.toString(), "one");
36
+ assert.strictEqual(data[1].B.toString(), "two");
37
+ assert.strictEqual(data[2].B.toString(), "three");
38
+
39
+ console.log("Test 1080 : passed");
40
+ });
@@ -1,39 +1,39 @@
1
- //NOTE: this does not assert anything that it should, please fix.
2
-
3
- var common = require("./common")
4
- , odbc = require("../")
5
- , db = new odbc.Database()
6
- , assert = require("assert")
7
- , util = require('util')
8
- , count = 0
9
- ;
10
-
11
- var sql =
12
- "declare @t table (x int); \
13
- insert @t values (1); \
14
- select 'You will get this message' \
15
- raiserror('You will never get this error!', 16, 100); \
16
- raiserror('Two errors in a row! WHAT?', 16, 100); \
17
- select 'You will never get this message, either!' as msg; \
18
- "
19
-
20
- db.open(common.connectionString, function(err) {
21
- console.log(err || "Connected");
22
- assert.equal(err, null);
23
-
24
- if (!err) {
25
- db.query(sql, function (err, results, more) {
26
- console.log("q1 result: ", err, results, more);
27
-
28
- if (!more) {
29
- console.log("Running second query");
30
-
31
- db.query("select 1 as x", function(err, results, more) {
32
- console.log("q2 result: ", err, results, more);
33
-
34
- db.close(function(err) { console.log(err || "Closed"); })
35
- })
36
- }
37
- })
38
- }
39
- });
1
+ //NOTE: this does not assert anything that it should, please fix.
2
+
3
+ var common = require("./common")
4
+ , odbc = require("../")
5
+ , db = new odbc.Database()
6
+ , assert = require("assert")
7
+ , util = require('util')
8
+ , count = 0
9
+ ;
10
+
11
+ var sql =
12
+ "declare @t table (x int); \
13
+ insert @t values (1); \
14
+ select 'You will get this message' \
15
+ raiserror('You will never get this error!', 16, 100); \
16
+ raiserror('Two errors in a row! WHAT?', 16, 100); \
17
+ select 'You will never get this message, either!' as msg; \
18
+ "
19
+
20
+ db.open(common.connectionString, function(err) {
21
+ console.log(err || "Connected");
22
+ assert.equal(err, null);
23
+
24
+ if (!err) {
25
+ db.query(sql, function (err, results, more) {
26
+ console.log("q1 result: ", err, results, more);
27
+
28
+ if (!more) {
29
+ console.log("Running second query");
30
+
31
+ db.query("select 1 as x", function(err, results, more) {
32
+ console.log("q2 result: ", err, results, more);
33
+
34
+ db.close(function(err) { console.log(err || "Closed"); })
35
+ })
36
+ }
37
+ })
38
+ }
39
+ });
@@ -1,44 +1,44 @@
1
- var common = require("./common")
2
- , odbc = require("../")
3
- , db = new odbc.Database()
4
- , assert = require("assert")
5
- , util = require('util')
6
- , count = 0
7
- ;
8
-
9
- var getSchema = function () {
10
- var db = new odbc.Database();
11
-
12
- console.log(util.format('Count %s, time %s', count, new Date()));
13
-
14
- db.open(common.connectionString, function(err) {
15
- if (err) {
16
- console.error("connection error: ", err.message);
17
- db.close(function(){});
18
- assert(err.message, null);
19
- }
20
-
21
- db.describe({database: 'SAMPLE', schema: 'NEWTON', table: "PRODUCT" }, function (err, rows) {
22
- if (err) {
23
- console.error("describe error: ", err.message);
24
- db.close(function(){});
25
- return;
26
- }
27
- console.log(rows);
28
-
29
- db.close(function() {
30
- console.log("Connection Closed");
31
- db = null;
32
- count += 1;
33
- if (count < 10) {
34
- setImmediate(getSchema);
35
- }
36
- else {
37
- process.exit(0);
38
- }
39
- });
40
- });
41
- });
42
- };
43
-
44
- getSchema();
1
+ var common = require("./common")
2
+ , odbc = require("../")
3
+ , db = new odbc.Database()
4
+ , assert = require("assert")
5
+ , util = require('util')
6
+ , count = 0
7
+ ;
8
+
9
+ var getSchema = function () {
10
+ var db = new odbc.Database();
11
+
12
+ console.log(util.format('Count %s, time %s', count, new Date()));
13
+
14
+ db.open(common.connectionString, function(err) {
15
+ if (err) {
16
+ console.error("connection error: ", err.message);
17
+ db.close(function(){});
18
+ assert(err.message, null);
19
+ }
20
+
21
+ db.describe({database: 'SAMPLE', schema: 'NEWTON', table: "PRODUCT" }, function (err, rows) {
22
+ if (err) {
23
+ console.error("describe error: ", err.message);
24
+ db.close(function(){});
25
+ return;
26
+ }
27
+ console.log(rows);
28
+
29
+ db.close(function() {
30
+ console.log("Connection Closed");
31
+ db = null;
32
+ count += 1;
33
+ if (count < 10) {
34
+ setImmediate(getSchema);
35
+ }
36
+ else {
37
+ process.exit(0);
38
+ }
39
+ });
40
+ });
41
+ });
42
+ };
43
+
44
+ getSchema();
@@ -1,80 +1,80 @@
1
- var ibmdb = require("../")
2
- , common = require("./common")
3
- , assert = require("assert")
4
- , cn = common.connectionString;
5
-
6
- var stmt0 = {};
7
- var stmt1 = {};
8
- var stmt2 = {};
9
- var queryExecuted = 0;
10
-
11
- stmt1.sql = 'SELECT COUNT(C1) FROM FINAL TABLE(UPDATE T1 SET C2=?, C3=? WHERE C1=1)';
12
- stmt1.params = ['Joe', 'Tim'];
13
- stmt1.noResults = false;
14
-
15
- stmt2.sql = 'SELECT COUNT(C1) FROM FINAL TABLE(UPDATE T1 SET C2=?, C3=? WHERE C1=1)';
16
- stmt2.params = ['Jane', 'Joan'];
17
- stmt2.noResults = false;
18
-
19
- ibmdb.debug(true);
20
- ibmdb.open(cn, function(err, conn1) {
21
- if (err) console.log(err);
22
- assert.equal(err, null);
23
-
24
- stmt0.sql = 'DROP TABLE T1';
25
- stmt0.noResults = true;
26
- try{ conn1.querySync(stmt0.sql); } catch(e) { }
27
-
28
- stmt0.sql = 'CREATE TABLE T1 (C1 INT PRIMARY KEY NOT NULL, C2 CHAR(50), C3 CHAR(50))';
29
- conn1.querySync(stmt0.sql);
30
-
31
- stmt0.sql = "INSERT INTO T1 VALUES (1, 'ABCDEF', 'GHIJK')";
32
- conn1.querySync(stmt0.sql);
33
-
34
- ibmdb.open(cn, function(err, conn2) {
35
- if (err) return console.log(err);
36
-
37
- conn1.beginTransaction(function(err) {
38
- if (err) return console.log(err);
39
- console.log('Transaction 1 opened');
40
- conn2.beginTransaction(function(err) {
41
- if (err) return console.log(err);
42
- console.log('Transaction 2 opened');
43
-
44
- conn1.query(stmt1, function(err, data) {
45
- console.log('Query 1 executed');
46
- if (err) {
47
- conn1.rollbackTransactionSync();
48
- console.log(err);
49
- } else {
50
- conn1.commitTransactionSync();
51
- console.log('<<< DATA >>>:', data);
52
- }
53
- queryExecuted++;
54
- });
55
-
56
- conn2.query(stmt2, function(err, data) {
57
- console.log('Query 2 executed');
58
- if (err) {
59
- conn2.rollbackTransactionSync();
60
- console.log(err);
61
- } else {
62
- conn2.commitTransactionSync();
63
- console.log('<<< DATA >>>:', data);
64
- assert.deepEqual(data, [ { '1': 1 } ]);
65
- }
66
- conn2.closeSync();
67
- queryExecuted++;
68
- });
69
- });
70
- });
71
- });
72
- var interval = setInterval(function(){
73
- if(queryExecuted === 2) {
74
- conn1.querySync("drop table T1");
75
- conn1.closeSync();
76
- clearInterval(interval);
77
- }
78
- }, 1000);
79
- });
80
-
1
+ var ibmdb = require("../")
2
+ , common = require("./common")
3
+ , assert = require("assert")
4
+ , cn = common.connectionString;
5
+
6
+ var stmt0 = {};
7
+ var stmt1 = {};
8
+ var stmt2 = {};
9
+ var queryExecuted = 0;
10
+
11
+ stmt1.sql = 'SELECT COUNT(C1) FROM FINAL TABLE(UPDATE T1 SET C2=?, C3=? WHERE C1=1)';
12
+ stmt1.params = ['Joe', 'Tim'];
13
+ stmt1.noResults = false;
14
+
15
+ stmt2.sql = 'SELECT COUNT(C1) FROM FINAL TABLE(UPDATE T1 SET C2=?, C3=? WHERE C1=1)';
16
+ stmt2.params = ['Jane', 'Joan'];
17
+ stmt2.noResults = false;
18
+
19
+ ibmdb.debug(true);
20
+ ibmdb.open(cn, function(err, conn1) {
21
+ if (err) console.log(err);
22
+ assert.equal(err, null);
23
+
24
+ stmt0.sql = 'DROP TABLE T1';
25
+ stmt0.noResults = true;
26
+ try{ conn1.querySync(stmt0.sql); } catch(e) { }
27
+
28
+ stmt0.sql = 'CREATE TABLE T1 (C1 INT PRIMARY KEY NOT NULL, C2 CHAR(50), C3 CHAR(50))';
29
+ conn1.querySync(stmt0.sql);
30
+
31
+ stmt0.sql = "INSERT INTO T1 VALUES (1, 'ABCDEF', 'GHIJK')";
32
+ conn1.querySync(stmt0.sql);
33
+
34
+ ibmdb.open(cn, function(err, conn2) {
35
+ if (err) return console.log(err);
36
+
37
+ conn1.beginTransaction(function(err) {
38
+ if (err) return console.log(err);
39
+ console.log('Transaction 1 opened');
40
+ conn2.beginTransaction(function(err) {
41
+ if (err) return console.log(err);
42
+ console.log('Transaction 2 opened');
43
+
44
+ conn1.query(stmt1, function(err, data) {
45
+ console.log('Query 1 executed');
46
+ if (err) {
47
+ conn1.rollbackTransactionSync();
48
+ console.log(err);
49
+ } else {
50
+ conn1.commitTransactionSync();
51
+ console.log('<<< DATA >>>:', data);
52
+ }
53
+ queryExecuted++;
54
+ });
55
+
56
+ conn2.query(stmt2, function(err, data) {
57
+ console.log('Query 2 executed');
58
+ if (err) {
59
+ conn2.rollbackTransactionSync();
60
+ console.log(err);
61
+ } else {
62
+ conn2.commitTransactionSync();
63
+ console.log('<<< DATA >>>:', data);
64
+ assert.deepEqual(data, [ { '1': 1 } ]);
65
+ }
66
+ conn2.closeSync();
67
+ queryExecuted++;
68
+ });
69
+ });
70
+ });
71
+ });
72
+ var interval = setInterval(function(){
73
+ if(queryExecuted === 2) {
74
+ conn1.querySync("drop table T1");
75
+ conn1.closeSync();
76
+ clearInterval(interval);
77
+ }
78
+ }, 1000);
79
+ });
80
+