@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.
- package/README.md +12 -10
- package/lib/Db2PluginLifeCycle.d.ts +11 -9
- package/lib/Db2PluginLifeCycle.js +18 -13
- package/lib/Db2PluginLifeCycle.js.map +1 -1
- package/node_modules/axios/CHANGELOG.md +62 -0
- package/node_modules/axios/README.md +233 -5
- package/node_modules/axios/dist/axios.js +387 -89
- package/node_modules/axios/dist/axios.min.js +3 -3
- package/node_modules/axios/dist/axios.min.js.map +1 -1
- package/node_modules/axios/dist/browser/axios.cjs +458 -98
- package/node_modules/axios/dist/esm/axios.js +458 -98
- package/node_modules/axios/dist/esm/axios.min.js +2 -2
- package/node_modules/axios/dist/esm/axios.min.js.map +1 -1
- package/node_modules/axios/dist/node/axios.cjs +568 -116
- package/node_modules/axios/index.d.cts +4 -0
- package/node_modules/axios/index.d.ts +4 -0
- package/node_modules/axios/lib/adapters/fetch.js +64 -11
- package/node_modules/axios/lib/adapters/http.js +134 -50
- package/node_modules/axios/lib/adapters/xhr.js +52 -3
- package/node_modules/axios/lib/core/Axios.js +19 -14
- package/node_modules/axios/lib/core/InterceptorManager.js +107 -8
- package/node_modules/axios/lib/core/buildFullPath.js +1 -13
- package/node_modules/axios/lib/core/dispatchRequest.js +8 -2
- package/node_modules/axios/lib/core/mergeConfig.js +1 -1
- package/node_modules/axios/lib/core/methodList.js +17 -0
- package/node_modules/axios/lib/defaults/index.js +2 -1
- package/node_modules/axios/lib/env/data.js +1 -1
- package/node_modules/axios/lib/helpers/Http2Sessions.js +2 -0
- package/node_modules/axios/lib/helpers/HttpStatusCode.js +11 -1
- package/node_modules/axios/lib/helpers/fromDataURI.js +5 -4
- package/node_modules/axios/lib/helpers/normalizeURLForProtocolCheck.js +24 -0
- package/node_modules/axios/lib/helpers/progressEventReducer.js +1 -1
- package/node_modules/axios/lib/helpers/resolveConfig.js +4 -2
- package/node_modules/axios/lib/helpers/shouldBypassProxy.js +182 -6
- package/node_modules/axios/lib/helpers/throttle.js +3 -2
- package/node_modules/axios/lib/helpers/toFormData.js +14 -21
- package/node_modules/axios/lib/utils.js +134 -13
- package/node_modules/axios/package.json +1 -1
- package/node_modules/ibm_db/APIDocumentation.md +2883 -2024
- package/node_modules/ibm_db/LICENSE +23 -23
- package/node_modules/ibm_db/README.md +735 -735
- package/node_modules/ibm_db/binding.gyp +99 -98
- package/node_modules/ibm_db/installer/driverInstall.js +984 -958
- package/node_modules/ibm_db/installer/ifx.sh +38 -38
- package/node_modules/ibm_db/installer/setenv.sh +23 -23
- package/node_modules/ibm_db/installer/testODBCConnection.bat +51 -51
- package/node_modules/ibm_db/installer/testODBCConnection.sh +61 -61
- package/node_modules/ibm_db/lib/climacros.js +431 -431
- package/node_modules/ibm_db/lib/odbc.js +4293 -3487
- package/node_modules/ibm_db/lib/simple-queue.js +41 -41
- package/node_modules/ibm_db/package.json +70 -70
- package/node_modules/ibm_db/src/odbc.cpp +1495 -1396
- package/node_modules/ibm_db/src/odbc.h +477 -473
- package/node_modules/ibm_db/src/odbc_connection.cpp +1762 -1612
- package/node_modules/ibm_db/src/odbc_connection.h +228 -215
- package/node_modules/ibm_db/src/odbc_result.cpp +1547 -1547
- package/node_modules/ibm_db/src/odbc_result.h +152 -152
- package/node_modules/ibm_db/src/odbc_statement.cpp +2047 -861
- package/node_modules/ibm_db/src/odbc_statement.h +257 -135
- package/node_modules/ibm_db/src/strptime.c +389 -389
- package/node_modules/ibm_db/src/strptime.h +46 -46
- package/node_modules/ibm_db/test/README +23 -23
- package/node_modules/ibm_db/test/bench-insert.js +62 -62
- package/node_modules/ibm_db/test/bench-insertBatch10.js +74 -74
- package/node_modules/ibm_db/test/bench-insertBatch100.js +75 -75
- package/node_modules/ibm_db/test/bench-insertBatch1000.js +75 -75
- package/node_modules/ibm_db/test/bench-insertBatch10000.js +75 -75
- package/node_modules/ibm_db/test/bench-prepare-bind-execute-closeSync.js +60 -60
- package/node_modules/ibm_db/test/bench-prepare-bind-executeNonQuery.js +53 -53
- package/node_modules/ibm_db/test/bench-prepare-bindSync-execute-closeSync.js +50 -50
- package/node_modules/ibm_db/test/bench-prepare-bindSync-executeNonQuery.js +48 -48
- package/node_modules/ibm_db/test/bench-prepare-execute-closeSync.js +51 -51
- package/node_modules/ibm_db/test/bench-prepare-executeNonQuery.js +47 -47
- package/node_modules/ibm_db/test/bench-prepare-not.js +43 -43
- package/node_modules/ibm_db/test/bench-query-fetch.js +59 -59
- package/node_modules/ibm_db/test/bench-query-fetchAll.js +49 -49
- package/node_modules/ibm_db/test/bench-query-fetchAllSync.js +43 -43
- package/node_modules/ibm_db/test/bench-query.js +40 -40
- package/node_modules/ibm_db/test/bench-querySync-fetchArray.js +28 -28
- package/node_modules/ibm_db/test/bench-querySync.js +29 -29
- package/node_modules/ibm_db/test/common.d.ts +10 -10
- package/node_modules/ibm_db/test/common.js +127 -127
- package/node_modules/ibm_db/test/config.json +7 -7
- package/node_modules/ibm_db/test/config.zos.json +4 -4
- package/node_modules/ibm_db/test/data/sample1.txt +9 -9
- package/node_modules/ibm_db/test/data/trc.fmt +30114 -30114
- package/node_modules/ibm_db/test/nodeEE-leak-huge-query.js +152 -152
- package/node_modules/ibm_db/test/nodeEE-leak-multiple-query-multiple-connections.js +148 -148
- package/node_modules/ibm_db/test/nodeEE-leak-multiple-query-pool-connections.js +154 -154
- package/node_modules/ibm_db/test/nodeEE-leak-multiple-query.js +133 -133
- package/node_modules/ibm_db/test/nodeEE-stress-async-waterfall-multiple-connections.js +174 -174
- package/node_modules/ibm_db/test/nodeEE-stress-async-waterfall.js +169 -169
- package/node_modules/ibm_db/test/nodeEE-stress-mixed-query-multiple-connections.js +159 -159
- package/node_modules/ibm_db/test/nodeEE-stress-mixed-query.js +148 -148
- package/node_modules/ibm_db/test/odbc-bench.c +123 -123
- package/node_modules/ibm_db/test/perfTest.js +53 -53
- package/node_modules/ibm_db/test/quick-example.sh +30 -30
- package/node_modules/ibm_db/test/quick-example.ts +80 -80
- package/node_modules/ibm_db/test/run-bench.js +96 -96
- package/node_modules/ibm_db/test/run-nodeEE.js +132 -132
- package/node_modules/ibm_db/test/run-tests.js +132 -138
- package/node_modules/ibm_db/test/sql-cli.js +28 -28
- package/node_modules/ibm_db/test/test-all-data-types.js +109 -109
- package/node_modules/ibm_db/test/test-array-insert.js +178 -178
- package/node_modules/ibm_db/test/test-async-await.js +105 -105
- package/node_modules/ibm_db/test/test-attributes.js +34 -34
- package/node_modules/ibm_db/test/test-bad-pool-connection-prepare-execute.js +57 -57
- package/node_modules/ibm_db/test/test-basic-test.js +138 -138
- package/node_modules/ibm_db/test/test-binary-array-insert.js +73 -73
- package/node_modules/ibm_db/test/test-blob-from-file.js +90 -90
- package/node_modules/ibm_db/test/test-blob-insert.js +144 -144
- package/node_modules/ibm_db/test/test-blob-stream-insert.js +321 -299
- package/node_modules/ibm_db/test/test-blob-to-file.js +370 -370
- package/node_modules/ibm_db/test/test-block-fetch.js +364 -364
- package/node_modules/ibm_db/test/test-blocking-issue210.js +123 -123
- package/node_modules/ibm_db/test/test-call-async.js +64 -64
- package/node_modules/ibm_db/test/test-call-stmt.js +53 -53
- package/node_modules/ibm_db/test/test-cancel.js +703 -0
- package/node_modules/ibm_db/test/test-chinese-char.js +59 -59
- package/node_modules/ibm_db/test/test-connection.js +306 -0
- package/node_modules/ibm_db/test/test-date.js +32 -32
- package/node_modules/ibm_db/test/test-dbclob.js +93 -93
- package/node_modules/ibm_db/test/test-decimals.js +135 -135
- package/node_modules/ibm_db/test/test-describe-metadata.js +148 -0
- package/node_modules/ibm_db/test/test-executeFile.js +167 -167
- package/node_modules/ibm_db/test/test-executeFileSync.js +85 -85
- package/node_modules/ibm_db/test/test-fetch-apis.js +146 -146
- package/node_modules/ibm_db/test/test-fetchN.js +130 -130
- package/node_modules/ibm_db/test/test-getinfo.js +197 -197
- package/node_modules/ibm_db/test/test-ibm-db-issue14.js +58 -58
- package/node_modules/ibm_db/test/test-ibm-db-issue17.js +54 -54
- package/node_modules/ibm_db/test/test-ibm-db-issue18.js +54 -54
- package/node_modules/ibm_db/test/test-issue-1059-fetchAll-undefined.js +67 -67
- package/node_modules/ibm_db/test/test-issue-1080-array-blob-insert.js +40 -0
- package/node_modules/ibm_db/test/test-issue-54.js +39 -39
- package/node_modules/ibm_db/test/test-issue-get-column-value-2.js +44 -44
- package/node_modules/ibm_db/test/test-issue211.js +80 -80
- package/node_modules/ibm_db/test/test-issue253.js +39 -39
- package/node_modules/ibm_db/test/test-max-pool-size.js +96 -96
- package/node_modules/ibm_db/test/test-memory-leaks-new-objects.js +32 -32
- package/node_modules/ibm_db/test/test-multi-open-query-close.js +75 -75
- package/node_modules/ibm_db/test/test-param-put-data.js +713 -0
- package/node_modules/ibm_db/test/test-pool-idle-connection.js +72 -72
- package/node_modules/ibm_db/test/test-pool-operations.js +325 -0
- package/node_modules/ibm_db/test/test-pool-stale-connections.js +111 -111
- package/node_modules/ibm_db/test/test-pool-uncommited.js +33 -33
- package/node_modules/ibm_db/test/test-prepare-execute.js +339 -0
- package/node_modules/ibm_db/test/test-prepareSync-multiple-execution.js +93 -93
- package/node_modules/ibm_db/test/test-primary-foreign-keys.js +246 -0
- package/node_modules/ibm_db/test/test-procedures.js +243 -0
- package/node_modules/ibm_db/test/test-promise-all-data-types.js +42 -42
- package/node_modules/ibm_db/test/test-query-operations.js +405 -0
- package/node_modules/ibm_db/test/test-quick-example.js +25 -25
- package/node_modules/ibm_db/test/test-row-array-insert.js +167 -167
- package/node_modules/ibm_db/test/test-sp-array.js +54 -54
- package/node_modules/ibm_db/test/test-sp-dbc-6000.js +88 -88
- package/node_modules/ibm_db/test/test-sp-memleak.js +136 -136
- package/node_modules/ibm_db/test/test-sp-resultset-execute.js +269 -269
- package/node_modules/ibm_db/test/test-sp-resultset.js +228 -228
- package/node_modules/ibm_db/test/test-transactions.js +261 -0
- package/node_modules/ibm_db/test/test-typescript.js +48 -48
- package/node_modules/ibm_db/test/test-xml-datatype.js +70 -70
- package/node_modules/ibm_db/test/testWebApp.js +56 -56
- package/node_modules/ibm_db/test/trace +51 -51
- package/node_modules/ibm_db/test/typescript-apis-test.js +978 -978
- package/node_modules/ibm_db/test/webapp.html +17 -17
- package/node_modules/ibm_db/test/webapp.js +79 -79
- package/node_modules/ibm_db/typescript/README.md +28 -28
- package/node_modules/ibm_db/typescript/dist/Database.d.ts +26 -0
- package/node_modules/ibm_db/typescript/dist/ODBCStatement.d.ts +93 -0
- package/package.json +10 -6
- package/node_modules/ibm_db/test/disabled/test-binding-statement-rebinding.js +0 -59
- package/node_modules/ibm_db/test/disabled/test-open-dont-close.js +0 -12
- package/node_modules/ibm_db/test/disabled/test-param-select-with-booleans-only.js +0 -21
- package/node_modules/ibm_db/test/disabled/test-param-select-with-decimals-only.js +0 -20
- package/node_modules/ibm_db/test/disabled/test-param-select-with-null.js +0 -21
- package/node_modules/ibm_db/test/disabled/test-param-select-with-nulls-mixed.js +0 -23
- package/node_modules/ibm_db/test/disabled/test-param-select-with-numbers-mixed.js +0 -22
- package/node_modules/ibm_db/test/disabled/test-param-select-with-numbers-only.js +0 -24
- package/node_modules/ibm_db/test/disabled/test-param-select-with-strings-only.js +0 -23
- package/node_modules/ibm_db/test/disabled/test-param-select-with-unicode.js +0 -15
- package/node_modules/ibm_db/test/disabled/test-prepare-bind-execute-closeSync.js +0 -62
- package/node_modules/ibm_db/test/disabled/test-prepare-bind-execute-error.js +0 -49
- package/node_modules/ibm_db/test/disabled/test-prepare-bind-execute-long-string.js +0 -63
- package/node_modules/ibm_db/test/disabled/test-prepare-bind-executeNonQuery.js +0 -63
- package/node_modules/ibm_db/test/disabled/test-prepare-bindSync-execute-closeSync.js +0 -46
- package/node_modules/ibm_db/test/disabled/test-prepare-bindSync-executeNonQuery.js +0 -50
- package/node_modules/ibm_db/test/disabled/test-prepare.js +0 -34
- package/node_modules/ibm_db/test/disabled/test-prepareSync.js +0 -29
- package/node_modules/ibm_db/test/disabled/test-query-select-fetchAll.js +0 -23
- package/node_modules/ibm_db/test/disabled/test-query-select-fetchAllSync.js +0 -23
- package/node_modules/ibm_db/test/disabled/test-query-select-unicode.js +0 -15
- package/node_modules/ibm_db/test/disabled/test-querySync-select-unicode.js +0 -20
- package/node_modules/ibm_db/test/test-affected-rows.js +0 -55
- package/node_modules/ibm_db/test/test-bad-connection-string.js +0 -30
- package/node_modules/ibm_db/test/test-binding-connection-timeOut.js +0 -31
- package/node_modules/ibm_db/test/test-binding-statement-executeSync.js +0 -84
- package/node_modules/ibm_db/test/test-binding-transaction-commit.js +0 -79
- package/node_modules/ibm_db/test/test-binding-transaction-commitSync.js +0 -53
- package/node_modules/ibm_db/test/test-closed.js +0 -14
- package/node_modules/ibm_db/test/test-connection-object.js +0 -16
- package/node_modules/ibm_db/test/test-describe-column.js +0 -92
- package/node_modules/ibm_db/test/test-describe-database.js +0 -18
- package/node_modules/ibm_db/test/test-describe-table.js +0 -31
- package/node_modules/ibm_db/test/test-domains-open.js +0 -19
- package/node_modules/ibm_db/test/test-global-open-close.js +0 -11
- package/node_modules/ibm_db/test/test-instantiate-one-and-end.js +0 -9
- package/node_modules/ibm_db/test/test-multi-open-close.js +0 -45
- package/node_modules/ibm_db/test/test-multi-openSync-closeSync.js +0 -52
- package/node_modules/ibm_db/test/test-open-close.js +0 -29
- package/node_modules/ibm_db/test/test-open-connectTimeout.js +0 -33
- package/node_modules/ibm_db/test/test-openSync.js +0 -31
- package/node_modules/ibm_db/test/test-pool-close.js +0 -120
- package/node_modules/ibm_db/test/test-pool-connect.js +0 -36
- package/node_modules/ibm_db/test/test-pool-rollbackTransaction.js +0 -35
- package/node_modules/ibm_db/test/test-prepareSync-bad-sql.js +0 -34
- package/node_modules/ibm_db/test/test-promise-open-close.js +0 -33
- package/node_modules/ibm_db/test/test-query-create-table-fetchSync.js +0 -23
- package/node_modules/ibm_db/test/test-query-create-table.js +0 -12
- package/node_modules/ibm_db/test/test-query-drop-table.js +0 -13
- package/node_modules/ibm_db/test/test-query-insert.js +0 -38
- package/node_modules/ibm_db/test/test-query-select-fetch.js +0 -21
- package/node_modules/ibm_db/test/test-query-select-fetchMode-array.js +0 -17
- package/node_modules/ibm_db/test/test-query-select.js +0 -64
- package/node_modules/ibm_db/test/test-queryResult.js +0 -35
- package/node_modules/ibm_db/test/test-queryStream.js +0 -43
- package/node_modules/ibm_db/test/test-querySync-select-with-exception.js +0 -25
- package/node_modules/ibm_db/test/test-querySync-select.js +0 -28
- package/node_modules/ibm_db/test/test-require-and-end.js +0 -8
- package/node_modules/ibm_db/test/test-statement-close.js +0 -118
- package/node_modules/ibm_db/test/test-transaction-commit-sync.js +0 -54
- 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
|
+
}
|