@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,39 +1,39 @@
1
- var ibmdb = require("../")
2
- , common = require("./common")
3
- , assert = require("assert")
4
- , cn = common.connectionString;
5
-
6
- const os = require("os");
7
-
8
- var createSQL = "create table issue253 (name int)";
9
- var selectSQL = "select * from issue253 WHERE CURRENT DATE = '2017-04-17 0'";
10
- var dropSQL = "drop table issue253";
11
-
12
- ibmdb.open(cn, function (err,conn) {
13
- if (err) console.log(err);
14
- assert.equal(err, null);
15
-
16
- conn.querySync(createSQL);
17
-
18
- conn.query(selectSQL, function (err, data) {
19
- conn.querySync(dropSQL);
20
- conn.closeSync();
21
- var errorFound = false;
22
-
23
- if (err.message) {
24
- if (common.isZOS) {
25
- // zOS Db2 returns SQLCode -181 and SQLState 22007 for
26
- // THE STRING REPRESENTATION OF A DATETIME VALUE IS NOT
27
- // A VALID DATETIME VALUE
28
- if (os.type() === "OS/390") {
29
- var errorFound = err.message.includes("SQLCODE = -181");
30
- } else {
31
- var errorFound = err.message.includes("SQL0181N");
32
- }
33
- } else {
34
- var errorFound = err.message.includes("SQL0180N");
35
- }
36
- }
37
- assert.equal(errorFound, true);
38
- });
39
- });
1
+ var ibmdb = require("../")
2
+ , common = require("./common")
3
+ , assert = require("assert")
4
+ , cn = common.connectionString;
5
+
6
+ const os = require("os");
7
+
8
+ var createSQL = "create table issue253 (name int)";
9
+ var selectSQL = "select * from issue253 WHERE CURRENT DATE = '2017-04-17 0'";
10
+ var dropSQL = "drop table issue253";
11
+
12
+ ibmdb.open(cn, function (err,conn) {
13
+ if (err) console.log(err);
14
+ assert.equal(err, null);
15
+
16
+ conn.querySync(createSQL);
17
+
18
+ conn.query(selectSQL, function (err, data) {
19
+ conn.querySync(dropSQL);
20
+ conn.closeSync();
21
+ var errorFound = false;
22
+
23
+ if (err.message) {
24
+ if (common.isZOS) {
25
+ // zOS Db2 returns SQLCode -181 and SQLState 22007 for
26
+ // THE STRING REPRESENTATION OF A DATETIME VALUE IS NOT
27
+ // A VALID DATETIME VALUE
28
+ if (os.type() === "OS/390") {
29
+ var errorFound = err.message.includes("SQLCODE = -181");
30
+ } else {
31
+ var errorFound = err.message.includes("SQL0181N");
32
+ }
33
+ } else {
34
+ var errorFound = err.message.includes("SQL0180N");
35
+ }
36
+ }
37
+ assert.equal(errorFound, true);
38
+ });
39
+ });
@@ -1,96 +1,96 @@
1
- var common = require("./common")
2
- , ibmdb = require("../")
3
- , pool = new ibmdb.Pool()
4
- , connectionString = common.connectionString
5
- , assert = require("assert")
6
- , connectCount = 12;
7
-
8
- pool.setMaxPoolSize(5); // Max no of active connections.
9
- //pool.setConnectTimeout(8); // No timeout. connection request will remain in queue.
10
-
11
- var elapsedTime = ibmdb.getElapsedTime;
12
- var ret = pool.init(3, connectionString);
13
- if(typeof ret === 'object') assert.equal(ret.message, undefined);
14
-
15
- //moment().format("YYYY-MM-DD HH:mm:ss.SSS"));
16
- console.log(elapsedTime(), "Started pool.open, populate a table MTAB1 of 130 rows.");
17
- pool.open(connectionString, function( err, conn) {
18
- try { conn.querySync("drop table mtab1");
19
- conn.querySync("drop table mtab2"); } catch(e) {};
20
- conn.querySync("create table mtab1(c1 varchar(30), c2 varchar(20))");
21
- conn.querySync("create table mtab2(c1 varchar(30), c2 varchar(20))");
22
- if (common.isZOS) {
23
- // Db2 on z/OS does not support multi-row inserts
24
- conn.querySync("Insert into mtab1 values ('1', 'bimal')");
25
- conn.querySync("Insert into mtab1 values ('2', 'kumar')");
26
- conn.querySync("Insert into mtab1 values ('3', 'jha')");
27
- conn.querySync("Insert into mtab1 values ('4', 'kamal')");
28
- conn.querySync("Insert into mtab1 values ('5', 'ibm')");
29
-
30
- conn.querySync("Insert into mtab1 values ('1', 'bimal')");
31
- conn.querySync("Insert into mtab1 values ('2', 'kumar')");
32
- conn.querySync("Insert into mtab1 values ('3', 'jha')");
33
- conn.querySync("Insert into mtab1 values ('4', 'kamal')");
34
- conn.querySync("Insert into mtab1 values ('5', 'ibm')");
35
- } else {
36
- conn.querySync("Insert into mtab1 values ('1', 'bimal'),('2','kumar'),('3', 'jha'), ('4', 'kamal'), ('5', 'ibm')");
37
- conn.querySync("Insert into mtab1 values ('1', 'bimal'),('2','kumar'),('3', 'jha'), ('4', 'kamal'), ('5', 'ibm')");
38
- }
39
- for(var i = 0; i < 3 ; i++) { // 4 is 340 rows and 6 is 2330 rows
40
- conn.querySync("insert into mtab2 (select * from mtab1)");
41
- conn.querySync("insert into mtab1 (select * from mtab2)");
42
- }
43
- conn.querySync("drop table mtab2");
44
- console.log(elapsedTime(), "Inserted rows in mtab1 = ", conn.querySync("select count(*) from mtab1")[0]['1']);
45
- conn.close(function(err){});
46
- });
47
-
48
- ibmdb.debug(true);
49
- openConnectionsUsingPool();
50
-
51
- function openConnectionsUsingPool() {
52
- for (var x = 1; x <= connectCount; x++) {
53
- (function (connectionIndex) {
54
- console.log("Opening connection #", connectionIndex);
55
- pool.open(connectionString, function (err, connection) {
56
- if (err) {
57
- console.error("error for connection %d: %s",
58
- connectionIndex, err.message);
59
- if (connectionIndex == connectCount) {
60
- console.log("Going to close connections.. \n");
61
- closeConnections();
62
- }
63
- return false;
64
- }
65
-
66
- console.log(elapsedTime(), "Connection " + connectionIndex + " opened. Start execution of Query" + connectionIndex + "\n");
67
- var startTime = new Date();
68
- connection.query("select c1, c2 from mtab1", function(err, data) {
69
- if(err) console.log(err);
70
- var totalTime = (new Date() - startTime)/1000;
71
- //var qtime = parseInt(totalTime%60);
72
- console.log(elapsedTime(), "Total execution time for Query"+connectionIndex+" = ", totalTime, "sec.");
73
-
74
- if (connectionIndex == connectCount) {
75
- connection.querySync("drop table mtab1");
76
- console.log("Going to close connections.. \n");
77
- closeConnections();
78
- }
79
- else
80
- {
81
- connection.close(function() {
82
- console.log(elapsedTime(), "Connection " + connectionIndex + " closed.");
83
- });
84
- }
85
- });
86
- });
87
- })(x);
88
- }
89
- }
90
-
91
- function closeConnections () {
92
- pool.close(function () {
93
- console.error("pool closed");
94
- });
95
- }
96
-
1
+ var common = require("./common")
2
+ , ibmdb = require("../")
3
+ , pool = new ibmdb.Pool()
4
+ , connectionString = common.connectionString
5
+ , assert = require("assert")
6
+ , connectCount = 12;
7
+
8
+ pool.setMaxPoolSize(5); // Max no of active connections.
9
+ //pool.setConnectTimeout(8); // No timeout. connection request will remain in queue.
10
+
11
+ var elapsedTime = ibmdb.getElapsedTime;
12
+ var ret = pool.init(3, connectionString);
13
+ if(typeof ret === 'object') assert.equal(ret.message, undefined);
14
+
15
+ //moment().format("YYYY-MM-DD HH:mm:ss.SSS"));
16
+ console.log(elapsedTime(), "Started pool.open, populate a table MTAB1 of 130 rows.");
17
+ pool.open(connectionString, function( err, conn) {
18
+ try { conn.querySync("drop table mtab1");
19
+ conn.querySync("drop table mtab2"); } catch(e) {};
20
+ conn.querySync("create table mtab1(c1 varchar(30), c2 varchar(20))");
21
+ conn.querySync("create table mtab2(c1 varchar(30), c2 varchar(20))");
22
+ if (common.isZOS) {
23
+ // Db2 on z/OS does not support multi-row inserts
24
+ conn.querySync("Insert into mtab1 values ('1', 'bimal')");
25
+ conn.querySync("Insert into mtab1 values ('2', 'kumar')");
26
+ conn.querySync("Insert into mtab1 values ('3', 'jha')");
27
+ conn.querySync("Insert into mtab1 values ('4', 'kamal')");
28
+ conn.querySync("Insert into mtab1 values ('5', 'ibm')");
29
+
30
+ conn.querySync("Insert into mtab1 values ('1', 'bimal')");
31
+ conn.querySync("Insert into mtab1 values ('2', 'kumar')");
32
+ conn.querySync("Insert into mtab1 values ('3', 'jha')");
33
+ conn.querySync("Insert into mtab1 values ('4', 'kamal')");
34
+ conn.querySync("Insert into mtab1 values ('5', 'ibm')");
35
+ } else {
36
+ conn.querySync("Insert into mtab1 values ('1', 'bimal'),('2','kumar'),('3', 'jha'), ('4', 'kamal'), ('5', 'ibm')");
37
+ conn.querySync("Insert into mtab1 values ('1', 'bimal'),('2','kumar'),('3', 'jha'), ('4', 'kamal'), ('5', 'ibm')");
38
+ }
39
+ for(var i = 0; i < 3 ; i++) { // 4 is 340 rows and 6 is 2330 rows
40
+ conn.querySync("insert into mtab2 (select * from mtab1)");
41
+ conn.querySync("insert into mtab1 (select * from mtab2)");
42
+ }
43
+ conn.querySync("drop table mtab2");
44
+ console.log(elapsedTime(), "Inserted rows in mtab1 = ", conn.querySync("select count(*) from mtab1")[0]['1']);
45
+ conn.close(function(err){});
46
+ });
47
+
48
+ ibmdb.debug(true);
49
+ openConnectionsUsingPool();
50
+
51
+ function openConnectionsUsingPool() {
52
+ for (var x = 1; x <= connectCount; x++) {
53
+ (function (connectionIndex) {
54
+ console.log("Opening connection #", connectionIndex);
55
+ pool.open(connectionString, function (err, connection) {
56
+ if (err) {
57
+ console.error("error for connection %d: %s",
58
+ connectionIndex, err.message);
59
+ if (connectionIndex == connectCount) {
60
+ console.log("Going to close connections.. \n");
61
+ closeConnections();
62
+ }
63
+ return false;
64
+ }
65
+
66
+ console.log(elapsedTime(), "Connection " + connectionIndex + " opened. Start execution of Query" + connectionIndex + "\n");
67
+ var startTime = new Date();
68
+ connection.query("select c1, c2 from mtab1", function(err, data) {
69
+ if(err) console.log(err);
70
+ var totalTime = (new Date() - startTime)/1000;
71
+ //var qtime = parseInt(totalTime%60);
72
+ console.log(elapsedTime(), "Total execution time for Query"+connectionIndex+" = ", totalTime, "sec.");
73
+
74
+ if (connectionIndex == connectCount) {
75
+ connection.querySync("drop table mtab1");
76
+ console.log("Going to close connections.. \n");
77
+ closeConnections();
78
+ }
79
+ else
80
+ {
81
+ connection.close(function() {
82
+ console.log(elapsedTime(), "Connection " + connectionIndex + " closed.");
83
+ });
84
+ }
85
+ });
86
+ });
87
+ })(x);
88
+ }
89
+ }
90
+
91
+ function closeConnections () {
92
+ pool.close(function () {
93
+ console.error("pool closed");
94
+ });
95
+ }
96
+
@@ -1,33 +1,33 @@
1
- var odbc = require("../")
2
- , openCount = 100
3
- , start = process.memoryUsage().heapUsed
4
- , x = 100
5
- ;
6
-
7
- gc();
8
-
9
- start = process.memoryUsage().heapUsed;
10
-
11
- for (x = 0; x < openCount; x++ ) {
12
- (function () {
13
- var db = new odbc.Database();
14
- db = null;
15
- })();
16
- }
17
-
18
- gc();
19
-
20
- console.log(process.memoryUsage().heapUsed - start);
21
-
22
- gc();
23
-
24
- for (x = 0; x < openCount; x++ ) {
25
- (function () {
26
- var db = new odbc.Database();
27
- db = null;
28
- })();
29
- }
30
-
31
- gc();
32
-
1
+ var odbc = require("../")
2
+ , openCount = 100
3
+ , start = process.memoryUsage().heapUsed
4
+ , x = 100
5
+ ;
6
+
7
+ gc();
8
+
9
+ start = process.memoryUsage().heapUsed;
10
+
11
+ for (x = 0; x < openCount; x++ ) {
12
+ (function () {
13
+ var db = new odbc.Database();
14
+ db = null;
15
+ })();
16
+ }
17
+
18
+ gc();
19
+
20
+ console.log(process.memoryUsage().heapUsed - start);
21
+
22
+ gc();
23
+
24
+ for (x = 0; x < openCount; x++ ) {
25
+ (function () {
26
+ var db = new odbc.Database();
27
+ db = null;
28
+ })();
29
+ }
30
+
31
+ gc();
32
+
33
33
  console.log(process.memoryUsage().heapUsed - start);
@@ -1,75 +1,75 @@
1
- var common = require("./common")
2
- , odbc = require("../")
3
- , openCallback = 0
4
- , closeCallback = 0
5
- , queryCallback = 0
6
- , openCount = 3
7
- , connections = []
8
- ;
9
-
10
- for (var x = 0; x < openCount; x++ ) {
11
- (function (x) {
12
- var db = new odbc.Database();
13
- connections.push(db);
14
-
15
- db.open(common.connectionString, function(err) {
16
- if (err) {
17
- throw err;
18
- process.exit();
19
- }
20
-
21
- //console.error("Open: %s %s %s", x, openCount, openCallback);
22
-
23
- openCallback += 1;
24
-
25
- maybeQuery();
26
- });
27
- })(x);
28
- }
29
-
30
- function maybeQuery() {
31
- if (openCount == openCallback) {
32
- doQuery();
33
- }
34
- }
35
-
36
- function doQuery() {
37
- connections.forEach(function (db, ix) {
38
- var seconds = connections.length - ix;
39
-
40
- var query = "WAITFOR DELAY '00:00:0" + seconds + "'; select " + seconds + " as result from SYSIBM.SYSDUMMY1";
41
-
42
- db.query(query, function (err, rows, moreResultSets) {
43
-
44
- //console.error("Query: %s %s %s %s", ix, openCount, queryCallback, moreResultSets, rows, err);
45
-
46
- queryCallback += 1;
47
-
48
- maybeClose();
49
- });
50
- });
51
- }
52
-
53
- function maybeClose() {
54
- if (openCount == queryCallback) {
55
- doClose();
56
- }
57
- }
58
-
59
- function doClose() {
60
- connections.forEach(function (db, ix) {
61
- db.close(function () {
62
- //console.log("Close: %s %s %s", ix, openCount, closeCallback);
63
-
64
- closeCallback += 1;
65
-
66
- maybeFinish();
67
- });
68
- });
69
- }
70
-
71
- function maybeFinish() {
72
- if (openCount == closeCallback) {
73
- console.error('done');
74
- }
75
- }
1
+ var common = require("./common")
2
+ , odbc = require("../")
3
+ , openCallback = 0
4
+ , closeCallback = 0
5
+ , queryCallback = 0
6
+ , openCount = 3
7
+ , connections = []
8
+ ;
9
+
10
+ for (var x = 0; x < openCount; x++ ) {
11
+ (function (x) {
12
+ var db = new odbc.Database();
13
+ connections.push(db);
14
+
15
+ db.open(common.connectionString, function(err) {
16
+ if (err) {
17
+ throw err;
18
+ process.exit();
19
+ }
20
+
21
+ //console.error("Open: %s %s %s", x, openCount, openCallback);
22
+
23
+ openCallback += 1;
24
+
25
+ maybeQuery();
26
+ });
27
+ })(x);
28
+ }
29
+
30
+ function maybeQuery() {
31
+ if (openCount == openCallback) {
32
+ doQuery();
33
+ }
34
+ }
35
+
36
+ function doQuery() {
37
+ connections.forEach(function (db, ix) {
38
+ var seconds = connections.length - ix;
39
+
40
+ var query = "WAITFOR DELAY '00:00:0" + seconds + "'; select " + seconds + " as result from SYSIBM.SYSDUMMY1";
41
+
42
+ db.query(query, function (err, rows, moreResultSets) {
43
+
44
+ //console.error("Query: %s %s %s %s", ix, openCount, queryCallback, moreResultSets, rows, err);
45
+
46
+ queryCallback += 1;
47
+
48
+ maybeClose();
49
+ });
50
+ });
51
+ }
52
+
53
+ function maybeClose() {
54
+ if (openCount == queryCallback) {
55
+ doClose();
56
+ }
57
+ }
58
+
59
+ function doClose() {
60
+ connections.forEach(function (db, ix) {
61
+ db.close(function () {
62
+ //console.log("Close: %s %s %s", ix, openCount, closeCallback);
63
+
64
+ closeCallback += 1;
65
+
66
+ maybeFinish();
67
+ });
68
+ });
69
+ }
70
+
71
+ function maybeFinish() {
72
+ if (openCount == closeCallback) {
73
+ console.error('done');
74
+ }
75
+ }