@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,120 +0,0 @@
|
|
|
1
|
-
var common = require("./common")
|
|
2
|
-
, ibmdb = require("../")
|
|
3
|
-
, pool = new ibmdb.Pool()
|
|
4
|
-
, assert = require("assert")
|
|
5
|
-
, connectionString = common.connectionString
|
|
6
|
-
, connections = []
|
|
7
|
-
, connectCount = 10;
|
|
8
|
-
|
|
9
|
-
openConnectionsUsingPool(connections);
|
|
10
|
-
|
|
11
|
-
function openConnectionsUsingPool(connections)
|
|
12
|
-
{
|
|
13
|
-
console.log("\n Test 1:\n", "=======");
|
|
14
|
-
console.log("Open", connectCount, "connections from pool.\n");
|
|
15
|
-
for (var x = 0; x <= connectCount; x++)
|
|
16
|
-
{
|
|
17
|
-
(function (connectionIndex) {
|
|
18
|
-
console.error("Opening connection #", connectionIndex + 1);
|
|
19
|
-
pool.open(connectionString, function (err, connection) {
|
|
20
|
-
if (err) {
|
|
21
|
-
console.error("error: ", err.message);
|
|
22
|
-
assert.equal(err.message, null);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
connections.push(connection);
|
|
26
|
-
|
|
27
|
-
if (connectionIndex == connectCount) {
|
|
28
|
-
ibmdb.debug(true);
|
|
29
|
-
closeConnections(connections);
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
})(x);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
function closeConnections (connections)
|
|
37
|
-
{
|
|
38
|
-
console.log("\n Test 2:\n", "=======");
|
|
39
|
-
console.log("Close all connections using pool.close().");
|
|
40
|
-
pool.close(function () {
|
|
41
|
-
console.error("pool closed.");
|
|
42
|
-
testMultipleCloseConnections();
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
function testMultipleCloseConnections()
|
|
47
|
-
{
|
|
48
|
-
console.log("\n Test 3:\n", "=======");
|
|
49
|
-
console.log("Test Multiple Close Connections.\n");
|
|
50
|
-
const pool = new ibmdb.Pool();
|
|
51
|
-
pool.open(connectionString, (err, conn) => {
|
|
52
|
-
if (err) { console.log("err", err); return; }
|
|
53
|
-
console.log("Connection opened successfully.");
|
|
54
|
-
conn.close(function (err2) {
|
|
55
|
-
if (err2) { console.log("err2", err2); return; }
|
|
56
|
-
console.log("Close 1 Success!");
|
|
57
|
-
// We should still able to exec query as conn is returned to pool,
|
|
58
|
-
// but connection to server is terminated, it is still active.
|
|
59
|
-
console.log("Data = ", conn.querySync("select 1 as c1 from sysibm.sysdummy1"));
|
|
60
|
-
conn.close(function (err3) {
|
|
61
|
-
if (err3) { console.log("err3", err3); return; }
|
|
62
|
-
console.log("Close 2 Success!");
|
|
63
|
-
console.log("Data = ", conn.querySync("select 2 as c2 from sysibm.sysdummy1"));
|
|
64
|
-
// Get the connection again from pool to actually close it.
|
|
65
|
-
pool.open(connectionString, (err, conn) => {
|
|
66
|
-
conn.realClose(function (err) {
|
|
67
|
-
//Now connection to server is terminated.
|
|
68
|
-
console.log("Trying to execute a query on closed connection...");
|
|
69
|
-
try {conn.querySync("select 3 as c3 from sysibm.sysdummy1");
|
|
70
|
-
} catch(e) {console.log("Error =", e);}
|
|
71
|
-
console.log("Going to Close the Pool.");
|
|
72
|
-
pool.close(function (err4) {
|
|
73
|
-
if (err4) { console.log("err4", err4); return; }
|
|
74
|
-
console.log("Pool Closed successfully. Test3 PASSED!");
|
|
75
|
-
testSyncConnections();
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
});
|
|
79
|
-
});
|
|
80
|
-
});
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
function testSyncConnections()
|
|
85
|
-
{
|
|
86
|
-
console.log("\n Test 4:\n", "=======");
|
|
87
|
-
console.log("Testing synchronous version of connection pool APIs.\n");
|
|
88
|
-
|
|
89
|
-
const pool2 = new ibmdb.Pool();
|
|
90
|
-
try {
|
|
91
|
-
var conn = pool2.openSync(connectionString);
|
|
92
|
-
} catch(error) {
|
|
93
|
-
console.log("error = ", error); return;
|
|
94
|
-
}
|
|
95
|
-
console.log("Connection opened successfully.");
|
|
96
|
-
console.log("Data = ", conn.querySync("select 1 as c1 from sysibm.sysdummy1"));
|
|
97
|
-
var err = conn.closeSync();
|
|
98
|
-
if (err) { console.log("Error in first closeSync,", err); return; }
|
|
99
|
-
console.log("CloseSync 1 Success!");
|
|
100
|
-
console.log("Data = ", conn.querySync("select 2 as c2 from sysibm.sysdummy1"));
|
|
101
|
-
err = conn.closeSync();
|
|
102
|
-
if (err) { console.log("Error in second closeSync,", err); return; }
|
|
103
|
-
console.log("CloseSync 2 Success!");
|
|
104
|
-
try {
|
|
105
|
-
// Get the connection again from pool to actually close it.
|
|
106
|
-
conn = pool2.openSync(connectionString);
|
|
107
|
-
err = conn.realCloseSync();
|
|
108
|
-
if (err != true) { console.log("Error in real closeSync,", err); }
|
|
109
|
-
console.log("RealCloseSync Success!");
|
|
110
|
-
console.log("Trying to execute a query on closed connection...");
|
|
111
|
-
conn.querySync("select 3 as c3 from sysibm.sysdummy1");
|
|
112
|
-
} catch(error) {
|
|
113
|
-
console.log("Error = ", error);
|
|
114
|
-
}
|
|
115
|
-
console.log("Going to Close the Pool.");
|
|
116
|
-
err = pool2.closeSync();
|
|
117
|
-
if (err) { console.log("err", err); return; }
|
|
118
|
-
console.log("Pool Closed successfully. Test4 PASSED!");
|
|
119
|
-
}
|
|
120
|
-
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
var common = require("./common")
|
|
2
|
-
, odbc = require("../")
|
|
3
|
-
, pool = new odbc.Pool()
|
|
4
|
-
, connectionString = common.connectionString
|
|
5
|
-
, connections = []
|
|
6
|
-
, connectCount = 10;
|
|
7
|
-
|
|
8
|
-
openConnectionsUsingPool(connections);
|
|
9
|
-
|
|
10
|
-
function openConnectionsUsingPool(connections) {
|
|
11
|
-
for (var x = 0; x <= connectCount; x++) {
|
|
12
|
-
(function (connectionIndex) {
|
|
13
|
-
console.error("Opening connection #", connectionIndex);
|
|
14
|
-
pool.open(connectionString, function (err, connection) {
|
|
15
|
-
if (err) {
|
|
16
|
-
console.error("error: ", err.message);
|
|
17
|
-
process.exit(-1);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
connections.push(connection);
|
|
21
|
-
|
|
22
|
-
if (connectionIndex == connectCount) {
|
|
23
|
-
closeConnections(connections);
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
})(x);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
function closeConnections (connections) {
|
|
31
|
-
pool.close(function () {
|
|
32
|
-
console.error("pool closed");
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
var common = require("./common")
|
|
2
|
-
, odbc = require("../")
|
|
3
|
-
, assert = require("assert")
|
|
4
|
-
, pool = new odbc.Pool()
|
|
5
|
-
, cn = common.connectionString
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
pool.open(cn, function (err, conn) {
|
|
9
|
-
if (err) {
|
|
10
|
-
console.log(err);
|
|
11
|
-
assert.equal(err, null);
|
|
12
|
-
}
|
|
13
|
-
try {
|
|
14
|
-
conn.querySync("drop table mytab4");
|
|
15
|
-
} catch(e) {};
|
|
16
|
-
conn.beginTransaction(function (err) {
|
|
17
|
-
if (err) {
|
|
18
|
-
//could not begin a transaction for some reason.
|
|
19
|
-
console.log(err);
|
|
20
|
-
return conn.closeSync();
|
|
21
|
-
}
|
|
22
|
-
conn.querySync("create table mytab4 (c1 int, c2 varchar(20))");
|
|
23
|
-
conn.querySync("insert into mytab4 values( 3, 'bimal')");
|
|
24
|
-
console.log(conn.querySync("select * from mytab4"));
|
|
25
|
-
conn.rollbackTransaction(function (err) {
|
|
26
|
-
if (err) {
|
|
27
|
-
//error during commit
|
|
28
|
-
console.log(err);
|
|
29
|
-
return conn.closeSync();
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
var common = require("./common")
|
|
2
|
-
, odbc = require("../")
|
|
3
|
-
, db = new odbc.Database()
|
|
4
|
-
, assert = require("assert")
|
|
5
|
-
;
|
|
6
|
-
|
|
7
|
-
const os = require("os");
|
|
8
|
-
|
|
9
|
-
db.openSync(common.connectionString);
|
|
10
|
-
assert.equal(db.connected, true);
|
|
11
|
-
|
|
12
|
-
try {
|
|
13
|
-
var stmt = db.prepareSync("asdf asdf asdf asdf sadf ");
|
|
14
|
-
} catch (e) {
|
|
15
|
-
// ODBC driver on z/OS does not have deferred prepare enabled
|
|
16
|
-
// by default. As a result, we expect the error to be thrown
|
|
17
|
-
// on the prepare.
|
|
18
|
-
assert.deepEqual(os.type(), "OS/390", "With deferred prepare in Db2Connect on distributed platforms, bad sql should not throw error.");
|
|
19
|
-
process.exit(0);
|
|
20
|
-
}
|
|
21
|
-
assert.equal(stmt.constructor.name, "ODBCStatement");
|
|
22
|
-
|
|
23
|
-
stmt.bindSync(["hello world", 1, null]);
|
|
24
|
-
|
|
25
|
-
stmt.execute(function (err, result) {
|
|
26
|
-
assert.ok(err);
|
|
27
|
-
|
|
28
|
-
stmt.executeNonQuery(function (err, count) {
|
|
29
|
-
assert.ok(err);
|
|
30
|
-
|
|
31
|
-
db.close(function () {});
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
var common = require("./common")
|
|
2
|
-
, ibmdb = require("../")
|
|
3
|
-
, db = new ibmdb.Database()
|
|
4
|
-
, assert = require("assert");
|
|
5
|
-
|
|
6
|
-
db.query("select * from " + common.tableName).then(null, function (err) {
|
|
7
|
-
assert.deepEqual(err, { message: 'Connection not open.', sqlstate: '08001', sqlcode: -30081 });
|
|
8
|
-
assert.equal(db.connected, false);
|
|
9
|
-
});
|
|
10
|
-
|
|
11
|
-
db.open(common.connectionString).then(function(res) {
|
|
12
|
-
console.log("db = ", db);
|
|
13
|
-
assert.equal(db.connected, true);
|
|
14
|
-
db.query("select * from " + common.tableName).then(null, function (err) {
|
|
15
|
-
var errorFound = false;
|
|
16
|
-
if(err) console.log(err);
|
|
17
|
-
if (err.message) {
|
|
18
|
-
var errorFound = err.message.includes("SQL0204N");
|
|
19
|
-
}
|
|
20
|
-
assert.equal(errorFound, true);
|
|
21
|
-
assert.equal(db.connected, true);
|
|
22
|
-
db.close().then(function () {
|
|
23
|
-
assert.equal(db.connected, false);
|
|
24
|
-
|
|
25
|
-
db.query("select * from " + common.tableName).then(null, function (err) {
|
|
26
|
-
if(err) console.log(err);
|
|
27
|
-
assert.deepEqual(err, { message: 'Connection not open.', sqlstate: '08001', sqlcode: -30081 });
|
|
28
|
-
assert.equal(db.connected, false);
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
})
|
|
33
|
-
.catch(function(err){console.log(err);});
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
var common = require("./common")
|
|
2
|
-
, odbc = require("../")
|
|
3
|
-
, db = new odbc.Database()
|
|
4
|
-
, assert = require("assert")
|
|
5
|
-
;
|
|
6
|
-
|
|
7
|
-
db.openSync(common.connectionString);
|
|
8
|
-
|
|
9
|
-
db.queryResult("create table " + common.tableName + " (COLINT INTEGER, COLDATETIME DATETIME, COLTEXT TEXT)", function (err, result) {
|
|
10
|
-
console.log(arguments);
|
|
11
|
-
|
|
12
|
-
try {
|
|
13
|
-
//this should throw because there was no result to be had?
|
|
14
|
-
var data = result.fetchAllSync();
|
|
15
|
-
console.log(data);
|
|
16
|
-
}
|
|
17
|
-
catch (e) {
|
|
18
|
-
console.log(e);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
db.closeSync();
|
|
22
|
-
});
|
|
23
|
-
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
var common = require("./common")
|
|
2
|
-
, odbc = require("../")
|
|
3
|
-
, db = new odbc.Database()
|
|
4
|
-
, assert = require("assert")
|
|
5
|
-
;
|
|
6
|
-
|
|
7
|
-
db.openSync(common.connectionString);
|
|
8
|
-
common.createTables(db, function (err, data, morefollowing) {
|
|
9
|
-
console.log(arguments);
|
|
10
|
-
db.closeSync();
|
|
11
|
-
});
|
|
12
|
-
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
var common = require("./common")
|
|
2
|
-
, odbc = require("../")
|
|
3
|
-
, db = new odbc.Database()
|
|
4
|
-
, assert = require("assert")
|
|
5
|
-
;
|
|
6
|
-
|
|
7
|
-
db.openSync(common.connectionString);
|
|
8
|
-
common.dropTables(db, function (err, data) {
|
|
9
|
-
db.closeSync();
|
|
10
|
-
assert.equal(err, null);
|
|
11
|
-
assert.deepEqual(data, []);
|
|
12
|
-
});
|
|
13
|
-
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
var common = require("./common")
|
|
2
|
-
, odbc = require("../")
|
|
3
|
-
, db = new odbc.Database()
|
|
4
|
-
, assert = require("assert")
|
|
5
|
-
, insertCount = 0;
|
|
6
|
-
;
|
|
7
|
-
|
|
8
|
-
db.open(common.connectionString, function(err) {
|
|
9
|
-
common.dropTables(db, function () {
|
|
10
|
-
common.createTables(db, function (err) {
|
|
11
|
-
assert.equal(err, null);
|
|
12
|
-
|
|
13
|
-
db.query("insert into " + common.tableName + " (COLTEXT) values ('sandwich')", insertCallback);
|
|
14
|
-
db.query("insert into " + common.tableName + " (COLTEXT) values ('fish')", insertCallback);
|
|
15
|
-
db.query("insert into " + common.tableName + " (COLTEXT) values ('scarf')", insertCallback);
|
|
16
|
-
|
|
17
|
-
});
|
|
18
|
-
});
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
function insertCallback(err, data) {
|
|
22
|
-
assert.equal(err, null);
|
|
23
|
-
assert.deepEqual(data, []);
|
|
24
|
-
|
|
25
|
-
insertCount += 1;
|
|
26
|
-
|
|
27
|
-
if (insertCount === 3) {
|
|
28
|
-
let param1 = {ParamType: "IN", DataType: "SQL_CHAR", Data: 'rocket'};
|
|
29
|
-
let data = db.querySync("select COLTEXT from final table (insert into " + common.tableName + " (COLTEXT) values (?))", [param1]);
|
|
30
|
-
console.log("Inserted data = ", data);
|
|
31
|
-
assert.deepEqual(data, [ { COLTEXT: 'rocket' } ]);
|
|
32
|
-
common.dropTables(db, function () {
|
|
33
|
-
db.close(function () {
|
|
34
|
-
console.error("Done");
|
|
35
|
-
});
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
var common = require("./common")
|
|
2
|
-
, odbc = require("../")
|
|
3
|
-
, db = new odbc.Database()
|
|
4
|
-
, assert = require("assert")
|
|
5
|
-
;
|
|
6
|
-
|
|
7
|
-
db.openSync(common.connectionString);
|
|
8
|
-
assert.equal(db.connected, true);
|
|
9
|
-
|
|
10
|
-
var query = {"sql": "select 1 as COLINT, 'some test' as COLTEXT FROM SYSIBM.SYSDUMMY1"};
|
|
11
|
-
db.queryResult(query, function (err, result) {
|
|
12
|
-
assert.equal(err, null);
|
|
13
|
-
assert.equal(result.constructor.name, "ODBCResult");
|
|
14
|
-
|
|
15
|
-
result.fetch(function (err, data) {
|
|
16
|
-
db.closeSync();
|
|
17
|
-
console.log("Returned data = " + JSON.stringify(data));
|
|
18
|
-
assert.deepEqual(data, { COLINT: '1', COLTEXT: 'some test' });
|
|
19
|
-
});
|
|
20
|
-
});
|
|
21
|
-
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
var common = require("./common")
|
|
2
|
-
, odbc = require("../")
|
|
3
|
-
, db = odbc({ fetchMode : odbc.FETCH_ARRAY })
|
|
4
|
-
, assert = require("assert")
|
|
5
|
-
;
|
|
6
|
-
|
|
7
|
-
db.openSync(common.connectionString);
|
|
8
|
-
|
|
9
|
-
assert.equal(db.connected, true);
|
|
10
|
-
|
|
11
|
-
db.query("select 1 as COLINT, 'some test' as COLTEXT FROM SYSIBM.SYSDUMMY1", function (err, data) {
|
|
12
|
-
assert.equal(err, null);
|
|
13
|
-
|
|
14
|
-
db.closeSync();
|
|
15
|
-
assert.deepEqual(data, [[1,"some test"]]);
|
|
16
|
-
});
|
|
17
|
-
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
let common = require("./common")
|
|
2
|
-
, ibmdb = require("../")
|
|
3
|
-
, assert = require("assert")
|
|
4
|
-
;
|
|
5
|
-
|
|
6
|
-
let conn = null;
|
|
7
|
-
let data = null;
|
|
8
|
-
|
|
9
|
-
main();
|
|
10
|
-
|
|
11
|
-
async function main() {
|
|
12
|
-
conn = await ibmdb.open(common.connectionString);
|
|
13
|
-
await testColAlias();
|
|
14
|
-
await testDupColNames();
|
|
15
|
-
await testColumnAlias();
|
|
16
|
-
await testCharInsert();
|
|
17
|
-
await conn.close();
|
|
18
|
-
console.log("All tests executed.");
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
async function testColAlias() {
|
|
22
|
-
try {
|
|
23
|
-
data = await conn.query("select 1 as \"COLINT\", 'some test' as \"COLTEXT\" FROM SYSIBM.SYSDUMMY1");
|
|
24
|
-
} catch (error) {
|
|
25
|
-
assert.equal(error, null);
|
|
26
|
-
}
|
|
27
|
-
console.log("Result from testColAlias = ",data);
|
|
28
|
-
assert.deepEqual(data, [{ COLINT: '1', COLTEXT: 'some test' }]);
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
async function testDupColNames() {
|
|
33
|
-
let sql = "select 'text 1' as name, 'text 2' as name from SYSIBM.SYSDUMMY1";
|
|
34
|
-
try {
|
|
35
|
-
data = await conn.query(sql);
|
|
36
|
-
} catch(error) {
|
|
37
|
-
assert.equal(error, null);
|
|
38
|
-
}
|
|
39
|
-
console.log("Result from testDupColNames= ", data);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
async function testColumnAlias() {
|
|
43
|
-
let sql = "select 'abc' as first, 'dcd' as second, 'efg', 'pqr', 'xyz' as last from SYSIBM.SYSDUMMY1";
|
|
44
|
-
ibmdb.debug(2);
|
|
45
|
-
try {
|
|
46
|
-
data = await conn.querySync(sql);
|
|
47
|
-
} catch(error) {
|
|
48
|
-
assert.equal(error, null);
|
|
49
|
-
}
|
|
50
|
-
console.log("Result from testColumnAlias= ", data);
|
|
51
|
-
ibmdb.debug(false);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
async function testCharInsert() {
|
|
55
|
-
await conn.query("drop table test1").catch((e) => {});
|
|
56
|
-
await conn.query("create table test1(c1 int, c2 char(5))");
|
|
57
|
-
await conn.query("insert into test1 values (1, 'abcde')");
|
|
58
|
-
await conn.query("insert into test1 values (2, 'abcd')");
|
|
59
|
-
await conn.query("insert into test1 values (?, ?)", [3, 'ABCDE']);
|
|
60
|
-
await conn.query("insert into test1 values (?, ?)", [4, 'ABCD']);
|
|
61
|
-
await conn.query("insert into test1 values (?, ?)", [5, { ParamType: 'INPUT', SQLType: 'CHAR', Data: 'DSWC' }]);
|
|
62
|
-
console.log("Result from testCharInsert =", conn.querySync("select * from test1"));
|
|
63
|
-
await conn.query("drop table test1");
|
|
64
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
var common = require("./common")
|
|
2
|
-
, ibmdb = require("../")
|
|
3
|
-
, assert = require("assert")
|
|
4
|
-
, cn = common.connectionString;
|
|
5
|
-
|
|
6
|
-
ibmdb.open(cn, function (err,conn) {
|
|
7
|
-
if (err) return console.log(err);
|
|
8
|
-
var query = 'select creator, name from sysibm.systables where 1 = ?';
|
|
9
|
-
var params = [1];
|
|
10
|
-
conn.queryResult(query, params, function (err, data) {
|
|
11
|
-
if(err) {
|
|
12
|
-
console.log(err);
|
|
13
|
-
}
|
|
14
|
-
else {
|
|
15
|
-
console.log("data = ", data.fetchAllSync());
|
|
16
|
-
console.log("sqlerror = ", data.getSQLErrorSync());
|
|
17
|
-
console.log("metadata = ", data.getColumnMetadataSync());
|
|
18
|
-
data.closeSync();
|
|
19
|
-
conn.close(function(){});
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
ibmdb.open(cn, function (err,conn) {
|
|
25
|
-
if (err) return console.log(err);
|
|
26
|
-
var query = 'select creator, name from sysibm.systables';
|
|
27
|
-
var result = conn.queryResultSync(query);
|
|
28
|
-
console.log("result = ", result);
|
|
29
|
-
console.log("data = ", result.fetchAllSync());
|
|
30
|
-
console.log("sqlerror = ", result.getSQLErrorSync());
|
|
31
|
-
console.log("metadata = ", result.getColumnMetadataSync());
|
|
32
|
-
result.closeSync();
|
|
33
|
-
conn.closeSync();
|
|
34
|
-
});
|
|
35
|
-
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
var common = require("./common")
|
|
2
|
-
, odbc = require("../")
|
|
3
|
-
, db = new odbc.Database()
|
|
4
|
-
, assert = require("assert")
|
|
5
|
-
;
|
|
6
|
-
|
|
7
|
-
const os = require("os");
|
|
8
|
-
|
|
9
|
-
db.openSync(common.connectionString);
|
|
10
|
-
assert.equal(db.connected, true);
|
|
11
|
-
|
|
12
|
-
var stream = db.queryStream("wrong query");
|
|
13
|
-
// adding the 'data' eventhandler starts the stream
|
|
14
|
-
stream.once('data', function (data) {
|
|
15
|
-
throw new Error("data should not return from an erroring queryStream.");
|
|
16
|
-
}).once('error', function (err) {
|
|
17
|
-
assert.ok(err instanceof Error, "Async error should be an instance of Error, got: " + (err && err.constructor && err.constructor.name));
|
|
18
|
-
assert.equal(err.sqlstate, (os.type() === "OS/390")?'37000':'42601');
|
|
19
|
-
assert.ok(typeof err.sqlcode === 'number', "sqlcode should be a number");
|
|
20
|
-
assert.ok(typeof err.message === 'string' && err.message.length > 0, "Error message should be a non-empty string");
|
|
21
|
-
db.close(function(){
|
|
22
|
-
console.log("Error test for queryStream completed successfully.");
|
|
23
|
-
});
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
odbc.open(common.connectionString, function(err, conn) {
|
|
27
|
-
if(err) return console.log(err);
|
|
28
|
-
assert.equal(conn.connected, true);
|
|
29
|
-
|
|
30
|
-
var sql = "select 1 as COLINT, 'some test' as COLTEXT FROM SYSIBM.SYSDUMMY1";
|
|
31
|
-
var stream = conn.queryStream(sql);
|
|
32
|
-
|
|
33
|
-
stream.once('data', function (data) {
|
|
34
|
-
assert.deepEqual(data, { COLINT: '1', COLTEXT: 'some test' });
|
|
35
|
-
console.log("Select test for queryStream completed successfully.");
|
|
36
|
-
}).once('error', function (err) {
|
|
37
|
-
conn.closeSync();
|
|
38
|
-
throw err;
|
|
39
|
-
}).once('end', function () {
|
|
40
|
-
conn.close(function(){ console.log("done.") });
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
var common = require("./common")
|
|
2
|
-
, odbc = require("../")
|
|
3
|
-
, db = new odbc.Database()
|
|
4
|
-
, assert = require("assert")
|
|
5
|
-
;
|
|
6
|
-
|
|
7
|
-
db.openSync(common.connectionString);
|
|
8
|
-
assert.equal(db.connected, true);
|
|
9
|
-
var err = null;
|
|
10
|
-
|
|
11
|
-
try {
|
|
12
|
-
err = db.querySync("select invalid query");
|
|
13
|
-
}
|
|
14
|
-
catch (e) {
|
|
15
|
-
err = e;
|
|
16
|
-
}
|
|
17
|
-
console.log(err);
|
|
18
|
-
|
|
19
|
-
db.closeSync();
|
|
20
|
-
assert.equal(err.error, "[node-ibm_db] Error in ODBCConnection::QuerySync while executing query.");
|
|
21
|
-
assert.ok(err instanceof Error, "Error should be an instance of Error, got: " + (err && err.constructor && err.constructor.name));
|
|
22
|
-
assert.ok(typeof err.message === 'string' && err.message.length > 0, "Error message should be a non-empty string");
|
|
23
|
-
assert.ok(typeof err.sqlcode === 'number', "sqlcode should be a number");
|
|
24
|
-
assert.ok(typeof err.sqlstate === 'string' && err.sqlstate.length > 0, "sqlstate should be a non-empty string");
|
|
25
|
-
console.log("test-querySync-select-with-exception: instanceof and properties OK");
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
var common = require("./common")
|
|
2
|
-
, odbc = require("../")
|
|
3
|
-
, db = new odbc.Database()
|
|
4
|
-
, assert = require("assert")
|
|
5
|
-
;
|
|
6
|
-
|
|
7
|
-
db.openSync(common.connectionString);
|
|
8
|
-
assert.equal(db.connected, true);
|
|
9
|
-
|
|
10
|
-
var data = db.querySync("select 1 as \"COLINT\", 'some test' as \"COLTEXT\" FROM SYSIBM.SYSDUMMY1");
|
|
11
|
-
assert.deepEqual(data, [{ COLINT: 1, COLTEXT: 'some test' }]);
|
|
12
|
-
|
|
13
|
-
// Test multiple result set returned by querySync.
|
|
14
|
-
db.fetchMode = 3; // Fetch in array mode.
|
|
15
|
-
data[0] = db.querySync("select 1, 2, 3 from sysibm.sysdummy1");
|
|
16
|
-
data[1] = db.querySync("select 4, 5, 6 from sysibm.sysdummy1");
|
|
17
|
-
console.log(data);
|
|
18
|
-
assert.deepEqual(data, [ [ [ 1, 2, 3 ] ], [ [ 4, 5, 6 ] ] ]);
|
|
19
|
-
|
|
20
|
-
db.fetchMode = 4; // Fetch in object mode. It is default mode too.
|
|
21
|
-
data[0] = db.querySync("select 1 from sysibm.sysdummy1");
|
|
22
|
-
data[1] = db.querySync("select 2 from sysibm.sysdummy1");
|
|
23
|
-
data[2] = db.querySync("select 3 from sysibm.sysdummy1");
|
|
24
|
-
console.log(data);
|
|
25
|
-
assert.deepEqual(data[2], [ { '1': 3 } ]);
|
|
26
|
-
db.closeSync();
|
|
27
|
-
|
|
28
|
-
|