@tdengine/websocket 3.2.3 → 3.3.0
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/lib/package.json +1 -1
- package/lib/src/client/wsClient.d.ts +23 -7
- package/lib/src/client/wsClient.d.ts.map +1 -1
- package/lib/src/client/wsClient.js +154 -139
- package/lib/src/client/wsConnector.d.ts +55 -9
- package/lib/src/client/wsConnector.d.ts.map +1 -1
- package/lib/src/client/wsConnector.js +519 -100
- package/lib/src/client/wsConnectorPool.d.ts +5 -1
- package/lib/src/client/wsConnectorPool.d.ts.map +1 -1
- package/lib/src/client/wsConnectorPool.js +61 -43
- package/lib/src/client/wsEventCallback.d.ts +3 -0
- package/lib/src/client/wsEventCallback.d.ts.map +1 -1
- package/lib/src/client/wsEventCallback.js +67 -8
- package/lib/src/common/addressConnectionTracker.d.ts +11 -0
- package/lib/src/common/addressConnectionTracker.d.ts.map +1 -0
- package/lib/src/common/addressConnectionTracker.js +53 -0
- package/lib/src/common/dsn.d.ts +14 -2
- package/lib/src/common/dsn.d.ts.map +1 -1
- package/lib/src/common/dsn.js +91 -22
- package/lib/src/common/taosResult.d.ts.map +1 -1
- package/lib/src/common/taosResult.js +0 -5
- package/lib/src/common/urlParser.d.ts +32 -0
- package/lib/src/common/urlParser.d.ts.map +1 -0
- package/lib/src/common/urlParser.js +201 -0
- package/lib/src/common/utils.d.ts +2 -1
- package/lib/src/common/utils.d.ts.map +1 -1
- package/lib/src/common/utils.js +35 -34
- package/lib/src/sql/wsSql.js +2 -2
- package/lib/src/stmt/FieldBindParams.d.ts.map +1 -1
- package/lib/src/stmt/wsColumnInfo.d.ts.map +1 -1
- package/lib/src/stmt/wsParams1.d.ts.map +1 -1
- package/lib/src/stmt/wsParams1.js +26 -26
- package/lib/src/stmt/wsParams2.d.ts.map +1 -1
- package/lib/src/stmt/wsParams2.js +0 -3
- package/lib/src/stmt/wsParamsBase.d.ts.map +1 -1
- package/lib/src/stmt/wsProto.d.ts.map +1 -1
- package/lib/src/stmt/wsProto.js +16 -16
- package/lib/src/stmt/wsStmt1.d.ts.map +1 -1
- package/lib/src/stmt/wsStmt2.d.ts +12 -4
- package/lib/src/stmt/wsStmt2.d.ts.map +1 -1
- package/lib/src/stmt/wsStmt2.js +182 -64
- package/lib/src/stmt/wsTableInfo.d.ts.map +1 -1
- package/lib/src/tmq/config.d.ts +3 -2
- package/lib/src/tmq/config.d.ts.map +1 -1
- package/lib/src/tmq/config.js +15 -15
- package/lib/src/tmq/wsTmq.d.ts +4 -1
- package/lib/src/tmq/wsTmq.d.ts.map +1 -1
- package/lib/src/tmq/wsTmq.js +50 -27
- package/lib/test/bulkPulling/a.test.d.ts +2 -0
- package/lib/test/bulkPulling/a.test.d.ts.map +1 -0
- package/lib/test/bulkPulling/a.test.js +166 -0
- package/lib/test/bulkPulling/dsn.test.js +19 -0
- package/lib/test/bulkPulling/retryConfig.test.js +11 -11
- package/lib/test/bulkPulling/sql.failover.test.d.ts +2 -0
- package/lib/test/bulkPulling/sql.failover.test.d.ts.map +1 -0
- package/lib/test/bulkPulling/sql.failover.test.js +338 -0
- package/lib/test/bulkPulling/stmt2.failover.test.d.ts +2 -0
- package/lib/test/bulkPulling/stmt2.failover.test.d.ts.map +1 -0
- package/lib/test/bulkPulling/stmt2.failover.test.js +313 -0
- package/lib/test/bulkPulling/stmt2.init.failover.test.d.ts +2 -0
- package/lib/test/bulkPulling/stmt2.init.failover.test.d.ts.map +1 -0
- package/lib/test/bulkPulling/stmt2.init.failover.test.js +50 -0
- package/lib/test/bulkPulling/tmq.failover.test.d.ts +2 -0
- package/lib/test/bulkPulling/tmq.failover.test.d.ts.map +1 -0
- package/lib/test/bulkPulling/tmq.failover.test.js +404 -0
- package/lib/test/bulkPulling/urlParser.test.d.ts +2 -0
- package/lib/test/bulkPulling/urlParser.test.d.ts.map +1 -0
- package/lib/test/bulkPulling/urlParser.test.js +452 -0
- package/lib/test/bulkPulling/wsClient.reconnect.integration.test.js +2 -2
- package/lib/test/bulkPulling/wsClient.recovery.test.d.ts +2 -0
- package/lib/test/bulkPulling/wsClient.recovery.test.d.ts.map +1 -0
- package/lib/test/bulkPulling/wsClient.recovery.test.js +104 -0
- package/lib/test/bulkPulling/wsConfig.dsn.test.js +2 -0
- package/lib/test/bulkPulling/wsConnector.failover.test.js +396 -27
- package/lib/test/bulkPulling/wsConnectorPool.key.test.js +12 -10
- package/lib/test/bulkPulling/wsConnectorPool.keyAuth.test.d.ts +2 -0
- package/lib/test/bulkPulling/wsConnectorPool.keyAuth.test.d.ts.map +1 -0
- package/lib/test/bulkPulling/wsConnectorPool.keyAuth.test.js +28 -0
- package/lib/test/bulkPulling/wsProxy.failover.integration.test.d.ts +2 -0
- package/lib/test/bulkPulling/wsProxy.failover.integration.test.d.ts.map +1 -0
- package/lib/test/bulkPulling/wsProxy.failover.integration.test.js +120 -0
- package/lib/test/bulkPulling/wsProxy.failover.test.d.ts +2 -0
- package/lib/test/bulkPulling/wsProxy.failover.test.d.ts.map +1 -0
- package/lib/test/bulkPulling/wsProxy.failover.test.js +465 -0
- package/lib/test/client/wsClient.recovery.test.d.ts +2 -0
- package/lib/test/client/wsClient.recovery.test.d.ts.map +1 -0
- package/lib/test/client/wsClient.recovery.test.js +122 -0
- package/lib/test/client/wsConnectPool.test.d.ts +2 -0
- package/lib/test/client/wsConnectPool.test.d.ts.map +1 -0
- package/lib/test/client/wsConnectPool.test.js +147 -0
- package/lib/test/client/wsConnector.failover.test.d.ts +2 -0
- package/lib/test/client/wsConnector.failover.test.d.ts.map +1 -0
- package/lib/test/client/wsConnector.failover.test.js +681 -0
- package/lib/test/client/wsConnector.leastConnections.test.d.ts +2 -0
- package/lib/test/client/wsConnector.leastConnections.test.d.ts.map +1 -0
- package/lib/test/client/wsConnector.leastConnections.test.js +71 -0
- package/lib/test/client/wsConnectorPool.key.test.d.ts +2 -0
- package/lib/test/client/wsConnectorPool.key.test.d.ts.map +1 -0
- package/lib/test/client/wsConnectorPool.key.test.js +127 -0
- package/lib/test/client/wsEventCallback.test.d.ts +2 -0
- package/lib/test/client/wsEventCallback.test.d.ts.map +1 -0
- package/lib/test/client/wsEventCallback.test.js +98 -0
- package/lib/test/common/addressConnectionTracker.test.d.ts +2 -0
- package/lib/test/common/addressConnectionTracker.test.d.ts.map +1 -0
- package/lib/test/common/addressConnectionTracker.test.js +74 -0
- package/lib/test/common/dsn.test.d.ts +2 -0
- package/lib/test/common/dsn.test.d.ts.map +1 -0
- package/lib/test/common/dsn.test.js +406 -0
- package/lib/test/common/log.test.d.ts +2 -0
- package/lib/test/common/log.test.d.ts.map +1 -0
- package/lib/test/common/log.test.js +54 -0
- package/lib/test/common/utils.test.d.ts +2 -0
- package/lib/test/common/utils.test.d.ts.map +1 -0
- package/lib/test/common/utils.test.js +13 -0
- package/lib/test/common/wsConfig.dsn.test.d.ts +2 -0
- package/lib/test/common/wsConfig.dsn.test.d.ts.map +1 -0
- package/lib/test/common/wsConfig.dsn.test.js +39 -0
- package/lib/test/helpers/utils.d.ts +27 -0
- package/lib/test/helpers/utils.d.ts.map +1 -0
- package/lib/test/helpers/utils.js +341 -0
- package/lib/test/helpers/wsFailoverProxy.d.ts +109 -0
- package/lib/test/helpers/wsFailoverProxy.d.ts.map +1 -0
- package/lib/test/helpers/wsFailoverProxy.js +420 -0
- package/lib/test/helpers/wsProxy.d.ts +110 -0
- package/lib/test/helpers/wsProxy.d.ts.map +1 -0
- package/lib/test/helpers/wsProxy.js +429 -0
- package/lib/test/sql/core/decimal.test.d.ts +2 -0
- package/lib/test/sql/core/decimal.test.d.ts.map +1 -0
- package/lib/test/sql/core/decimal.test.js +153 -0
- package/lib/test/sql/core/queryTables.test.d.ts +2 -0
- package/lib/test/sql/core/queryTables.test.d.ts.map +1 -0
- package/lib/test/sql/core/queryTables.test.js +506 -0
- package/lib/test/sql/core/schemaless.test.d.ts +2 -0
- package/lib/test/sql/core/schemaless.test.d.ts.map +1 -0
- package/lib/test/sql/core/schemaless.test.js +102 -0
- package/lib/test/sql/core/sql.test.d.ts +2 -0
- package/lib/test/sql/core/sql.test.d.ts.map +1 -0
- package/lib/test/sql/core/sql.test.js +324 -0
- package/lib/test/sql/decimal.test.d.ts +2 -0
- package/lib/test/sql/decimal.test.d.ts.map +1 -0
- package/lib/test/sql/decimal.test.js +153 -0
- package/lib/test/sql/failover/sql.failover.test.d.ts +2 -0
- package/lib/test/sql/failover/sql.failover.test.d.ts.map +1 -0
- package/lib/test/sql/failover/sql.failover.test.js +341 -0
- package/lib/test/sql/queryTables.test.d.ts +2 -0
- package/lib/test/sql/queryTables.test.d.ts.map +1 -0
- package/lib/test/sql/queryTables.test.js +506 -0
- package/lib/test/sql/schemaless.test.d.ts +2 -0
- package/lib/test/sql/schemaless.test.d.ts.map +1 -0
- package/lib/test/sql/schemaless.test.js +102 -0
- package/lib/test/sql/sql.failover.test.d.ts +2 -0
- package/lib/test/sql/sql.failover.test.d.ts.map +1 -0
- package/lib/test/sql/sql.failover.test.js +341 -0
- package/lib/test/sql/sql.test.d.ts +2 -0
- package/lib/test/sql/sql.test.d.ts.map +1 -0
- package/lib/test/sql/sql.test.js +324 -0
- package/lib/test/stmt/failover/stmt2.failover.mock.test.d.ts +2 -0
- package/lib/test/stmt/failover/stmt2.failover.mock.test.d.ts.map +1 -0
- package/lib/test/stmt/failover/stmt2.failover.mock.test.js +341 -0
- package/lib/test/stmt/failover/stmt2.failover.test.d.ts +2 -0
- package/lib/test/stmt/failover/stmt2.failover.test.d.ts.map +1 -0
- package/lib/test/stmt/failover/stmt2.failover.test.js +384 -0
- package/lib/test/stmt/stmt1.func.test.d.ts +2 -0
- package/lib/test/stmt/stmt1.func.test.d.ts.map +1 -0
- package/lib/test/stmt/stmt1.func.test.js +418 -0
- package/lib/test/stmt/stmt1.type.test.d.ts +2 -0
- package/lib/test/stmt/stmt1.type.test.d.ts.map +1 -0
- package/lib/test/stmt/stmt1.type.test.js +399 -0
- package/lib/test/stmt/stmt2.failover.mock.test.d.ts +2 -0
- package/lib/test/stmt/stmt2.failover.mock.test.d.ts.map +1 -0
- package/lib/test/stmt/stmt2.failover.mock.test.js +341 -0
- package/lib/test/stmt/stmt2.failover.test.d.ts +2 -0
- package/lib/test/stmt/stmt2.failover.test.d.ts.map +1 -0
- package/lib/test/stmt/stmt2.failover.test.js +384 -0
- package/lib/test/stmt/stmt2.func.test.d.ts +2 -0
- package/lib/test/stmt/stmt2.func.test.d.ts.map +1 -0
- package/lib/test/stmt/stmt2.func.test.js +537 -0
- package/lib/test/stmt/stmt2.type.test.d.ts +2 -0
- package/lib/test/stmt/stmt2.type.test.d.ts.map +1 -0
- package/lib/test/stmt/stmt2.type.test.js +401 -0
- package/lib/test/stmt/v1/stmt1.func.test.d.ts +2 -0
- package/lib/test/stmt/v1/stmt1.func.test.d.ts.map +1 -0
- package/lib/test/stmt/v1/stmt1.func.test.js +418 -0
- package/lib/test/stmt/v1/stmt1.type.test.d.ts +2 -0
- package/lib/test/stmt/v1/stmt1.type.test.d.ts.map +1 -0
- package/lib/test/stmt/v1/stmt1.type.test.js +399 -0
- package/lib/test/stmt/v2/stmt2.func.test.d.ts +2 -0
- package/lib/test/stmt/v2/stmt2.func.test.d.ts.map +1 -0
- package/lib/test/stmt/v2/stmt2.func.test.js +537 -0
- package/lib/test/stmt/v2/stmt2.type.test.d.ts +2 -0
- package/lib/test/stmt/v2/stmt2.type.test.d.ts.map +1 -0
- package/lib/test/stmt/v2/stmt2.type.test.js +401 -0
- package/lib/test/tmq/cloud/cloud.tmq.test.d.ts +2 -0
- package/lib/test/tmq/cloud/cloud.tmq.test.d.ts.map +1 -0
- package/lib/test/tmq/cloud/cloud.tmq.test.js +84 -0
- package/lib/test/tmq/cloud/tmq.cloud.test.d.ts +2 -0
- package/lib/test/tmq/cloud/tmq.cloud.test.d.ts.map +1 -0
- package/lib/test/tmq/cloud/tmq.cloud.test.js +82 -0
- package/lib/test/tmq/core/tmq.config.test.d.ts +2 -0
- package/lib/test/tmq/core/tmq.config.test.d.ts.map +1 -0
- package/lib/test/tmq/core/tmq.config.test.js +83 -0
- package/lib/test/tmq/core/tmq.test.d.ts +2 -0
- package/lib/test/tmq/core/tmq.test.d.ts.map +1 -0
- package/lib/test/tmq/core/tmq.test.js +513 -0
- package/lib/test/tmq/failover/tmq.failover.test.d.ts +2 -0
- package/lib/test/tmq/failover/tmq.failover.test.d.ts.map +1 -0
- package/lib/test/tmq/failover/tmq.failover.test.js +404 -0
- package/lib/test/tmq/tmq.cloud.test.d.ts +2 -0
- package/lib/test/tmq/tmq.cloud.test.d.ts.map +1 -0
- package/lib/test/tmq/tmq.cloud.test.js +82 -0
- package/lib/test/tmq/tmq.config.test.d.ts +2 -0
- package/lib/test/tmq/tmq.config.test.d.ts.map +1 -0
- package/lib/test/tmq/tmq.config.test.js +94 -0
- package/lib/test/tmq/tmq.failover.test.d.ts +2 -0
- package/lib/test/tmq/tmq.failover.test.d.ts.map +1 -0
- package/lib/test/tmq/tmq.failover.test.js +404 -0
- package/lib/test/tmq/tmq.test.d.ts +2 -0
- package/lib/test/tmq/tmq.test.d.ts.map +1 -0
- package/lib/test/tmq/tmq.test.js +513 -0
- package/lib/test/unit/connectionManager.test.d.ts +2 -0
- package/lib/test/unit/connectionManager.test.d.ts.map +1 -0
- package/lib/test/unit/connectionManager.test.js +91 -0
- package/package.json +1 -1
- package/readme.md +2 -2
|
@@ -0,0 +1,506 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const wsConnectorPool_1 = require("@src/client/wsConnectorPool");
|
|
4
|
+
const config_1 = require("@src/common/config");
|
|
5
|
+
const wsSql_1 = require("@src/sql/wsSql");
|
|
6
|
+
const utils_1 = require("@test-helpers/utils");
|
|
7
|
+
let dsn = `ws://${(0, utils_1.testUsername)()}:${(0, utils_1.testPassword)()}@localhost:6041`;
|
|
8
|
+
let conf = new config_1.WSConfig(dsn);
|
|
9
|
+
const resultMap = new Map();
|
|
10
|
+
resultMap.set("POINT (4.0 8.0)", (0, utils_1.hexToBytes)("010100000000000000000010400000000000002040"));
|
|
11
|
+
resultMap.set("POINT (3.0 5.0)", (0, utils_1.hexToBytes)("010100000000000000000008400000000000001440"));
|
|
12
|
+
resultMap.set("LINESTRING (1.000000 1.000000, 2.000000 2.000000, 5.000000 5.000000)", (0, utils_1.hexToBytes)("010200000003000000000000000000f03f000000000000f03f0000000000000040000000000000004000000000000014400000000000001440"));
|
|
13
|
+
resultMap.set("POLYGON ((3.000000 6.000000, 5.000000 6.000000, 5.000000 8.000000, 3.000000 8.000000, 3.000000 6.000000))", (0, utils_1.hexToBytes)("010300000001000000050000000000000000000840000000000000184000000000000014400000000000001840000000000000144000000000000020400000000000000840000000000000204000000000000008400000000000001840"));
|
|
14
|
+
resultMap.set("POINT (7.0 9.0)", (0, utils_1.hexToBytes)("01010000000000000000001c400000000000002240"));
|
|
15
|
+
resultMap.set("0x7661726332", (0, utils_1.hexToBytes)("307837363631373236333332"));
|
|
16
|
+
resultMap.set("0x7661726333", (0, utils_1.hexToBytes)("307837363631373236333333"));
|
|
17
|
+
resultMap.set("0x7661726334", (0, utils_1.hexToBytes)("307837363631373236333334"));
|
|
18
|
+
resultMap.set("0x7661726335", (0, utils_1.hexToBytes)("307837363631373236333335"));
|
|
19
|
+
const table = "ws_q_n";
|
|
20
|
+
const stable = "ws_q_s";
|
|
21
|
+
const tableCN = "ws_q_n_cn";
|
|
22
|
+
const stableCN = "ws_q_s_cn";
|
|
23
|
+
const db = "ws_q_db";
|
|
24
|
+
const jsonTable = "ws_q_j";
|
|
25
|
+
const jsonTableCN = "ws_q_j_cn";
|
|
26
|
+
const createDB = `create database if not exists ${db} keep 3650`;
|
|
27
|
+
const dropDB = `drop database if exists ${db}`;
|
|
28
|
+
const useDB = `use ${db}`;
|
|
29
|
+
const stableTags = [
|
|
30
|
+
true,
|
|
31
|
+
-1,
|
|
32
|
+
-2,
|
|
33
|
+
-3,
|
|
34
|
+
BigInt(-4),
|
|
35
|
+
1,
|
|
36
|
+
2,
|
|
37
|
+
3,
|
|
38
|
+
BigInt(4),
|
|
39
|
+
parseFloat((3.1415).toFixed(5)),
|
|
40
|
+
parseFloat((3.14159265).toFixed(15)),
|
|
41
|
+
"varchar_tag_1",
|
|
42
|
+
"nchar_tag_1",
|
|
43
|
+
];
|
|
44
|
+
const stableCNTags = [
|
|
45
|
+
false,
|
|
46
|
+
-1 * 2,
|
|
47
|
+
-2 * 2,
|
|
48
|
+
-3 * 2,
|
|
49
|
+
BigInt(-4 * 2),
|
|
50
|
+
1 * 2,
|
|
51
|
+
2 * 2,
|
|
52
|
+
3 * 2,
|
|
53
|
+
BigInt(4 * 2),
|
|
54
|
+
parseFloat((3.1415 * 2).toFixed(5)),
|
|
55
|
+
parseFloat((3.14159265 * 2).toFixed(15)),
|
|
56
|
+
"varchar_标签_壹",
|
|
57
|
+
"nchar_标签_贰",
|
|
58
|
+
];
|
|
59
|
+
const tableValues = [
|
|
60
|
+
[
|
|
61
|
+
BigInt(1656677710000),
|
|
62
|
+
0,
|
|
63
|
+
-1,
|
|
64
|
+
-2,
|
|
65
|
+
BigInt(-3),
|
|
66
|
+
0,
|
|
67
|
+
1,
|
|
68
|
+
2,
|
|
69
|
+
BigInt(3),
|
|
70
|
+
parseFloat((3.1415).toFixed(5)),
|
|
71
|
+
parseFloat((3.14159265).toFixed(15)),
|
|
72
|
+
"varchar_col_1",
|
|
73
|
+
"nchar_col_1",
|
|
74
|
+
true,
|
|
75
|
+
"NULL",
|
|
76
|
+
"POINT (4.0 8.0)",
|
|
77
|
+
"0x7661726332",
|
|
78
|
+
],
|
|
79
|
+
[
|
|
80
|
+
BigInt(1656677720000),
|
|
81
|
+
-1,
|
|
82
|
+
-2,
|
|
83
|
+
-3,
|
|
84
|
+
BigInt(-4),
|
|
85
|
+
1,
|
|
86
|
+
2,
|
|
87
|
+
3,
|
|
88
|
+
BigInt(4),
|
|
89
|
+
parseFloat((3.1415 * 2).toFixed(5)),
|
|
90
|
+
parseFloat((3.14159265 * 2).toFixed(15)),
|
|
91
|
+
"varchar_col_2",
|
|
92
|
+
"nchar_col_2",
|
|
93
|
+
false,
|
|
94
|
+
"NULL",
|
|
95
|
+
"POINT (3.0 5.0)",
|
|
96
|
+
"0x7661726333",
|
|
97
|
+
],
|
|
98
|
+
[
|
|
99
|
+
BigInt(1656677730000),
|
|
100
|
+
-2,
|
|
101
|
+
-3,
|
|
102
|
+
-4,
|
|
103
|
+
BigInt(-5),
|
|
104
|
+
2,
|
|
105
|
+
3,
|
|
106
|
+
4,
|
|
107
|
+
BigInt(5),
|
|
108
|
+
parseFloat((3.1415 * 3).toFixed(5)),
|
|
109
|
+
parseFloat((3.14159265 * 3).toFixed(15)),
|
|
110
|
+
"varchar_col_3",
|
|
111
|
+
"nchar_col_3",
|
|
112
|
+
true,
|
|
113
|
+
"NULL",
|
|
114
|
+
"LINESTRING (1.000000 1.000000, 2.000000 2.000000, 5.000000 5.000000)",
|
|
115
|
+
"0x7661726334",
|
|
116
|
+
],
|
|
117
|
+
[
|
|
118
|
+
BigInt(1656677740000),
|
|
119
|
+
-3,
|
|
120
|
+
-4,
|
|
121
|
+
-5,
|
|
122
|
+
BigInt(-6),
|
|
123
|
+
3,
|
|
124
|
+
4,
|
|
125
|
+
5,
|
|
126
|
+
BigInt(6),
|
|
127
|
+
parseFloat((3.1415 * 4).toFixed(5)),
|
|
128
|
+
parseFloat((3.14159265 * 4).toFixed(15)),
|
|
129
|
+
"varchar_col_4",
|
|
130
|
+
"nchar_col_4",
|
|
131
|
+
false,
|
|
132
|
+
"NULL",
|
|
133
|
+
"POLYGON ((3.000000 6.000000, 5.000000 6.000000, 5.000000 8.000000, 3.000000 8.000000, 3.000000 6.000000))",
|
|
134
|
+
"0x7661726335",
|
|
135
|
+
],
|
|
136
|
+
[
|
|
137
|
+
BigInt(1656677750000),
|
|
138
|
+
-4,
|
|
139
|
+
-5,
|
|
140
|
+
-6,
|
|
141
|
+
BigInt(-7),
|
|
142
|
+
4,
|
|
143
|
+
5,
|
|
144
|
+
6,
|
|
145
|
+
BigInt(7),
|
|
146
|
+
parseFloat((3.1415 * 5).toFixed(5)),
|
|
147
|
+
parseFloat((3.14159265 * 5).toFixed(15)),
|
|
148
|
+
"varchar_col_5",
|
|
149
|
+
"nchar_col_5",
|
|
150
|
+
true,
|
|
151
|
+
"NULL",
|
|
152
|
+
"POINT (7.0 9.0)",
|
|
153
|
+
"0x7661726335",
|
|
154
|
+
],
|
|
155
|
+
];
|
|
156
|
+
const tableCNValues = [
|
|
157
|
+
[
|
|
158
|
+
BigInt(1656677760000),
|
|
159
|
+
0,
|
|
160
|
+
-1,
|
|
161
|
+
-2,
|
|
162
|
+
BigInt(-3),
|
|
163
|
+
0,
|
|
164
|
+
1,
|
|
165
|
+
2,
|
|
166
|
+
BigInt(3),
|
|
167
|
+
parseFloat((3.1415).toFixed(5)),
|
|
168
|
+
parseFloat((3.14159265).toFixed(15)),
|
|
169
|
+
"varchar_列_壹",
|
|
170
|
+
"nchar_列_甲",
|
|
171
|
+
true,
|
|
172
|
+
"NULL",
|
|
173
|
+
"POINT (4.0 8.0)",
|
|
174
|
+
"0x7661726332",
|
|
175
|
+
],
|
|
176
|
+
[
|
|
177
|
+
BigInt(1656677770000),
|
|
178
|
+
-1,
|
|
179
|
+
-2,
|
|
180
|
+
-3,
|
|
181
|
+
BigInt(-4),
|
|
182
|
+
1,
|
|
183
|
+
2,
|
|
184
|
+
3,
|
|
185
|
+
BigInt(4),
|
|
186
|
+
parseFloat((3.1415 * 2).toFixed(5)),
|
|
187
|
+
parseFloat((3.14159265 * 2).toFixed(15)),
|
|
188
|
+
"varchar_列_贰",
|
|
189
|
+
"nchar_列_乙",
|
|
190
|
+
false,
|
|
191
|
+
"NULL",
|
|
192
|
+
"POINT (3.0 5.0)",
|
|
193
|
+
"0x7661726333",
|
|
194
|
+
],
|
|
195
|
+
[
|
|
196
|
+
BigInt(1656677780000),
|
|
197
|
+
-2,
|
|
198
|
+
-3,
|
|
199
|
+
-4,
|
|
200
|
+
BigInt(-5),
|
|
201
|
+
2,
|
|
202
|
+
3,
|
|
203
|
+
4,
|
|
204
|
+
BigInt(5),
|
|
205
|
+
parseFloat((3.1415 * 3).toFixed(5)),
|
|
206
|
+
parseFloat((3.14159265 * 3).toFixed(15)),
|
|
207
|
+
"varchar_列_叁",
|
|
208
|
+
"nchar_列_丙",
|
|
209
|
+
true,
|
|
210
|
+
"NULL",
|
|
211
|
+
"LINESTRING (1.000000 1.000000, 2.000000 2.000000, 5.000000 5.000000)",
|
|
212
|
+
"0x7661726334",
|
|
213
|
+
],
|
|
214
|
+
[
|
|
215
|
+
BigInt(1656677790000),
|
|
216
|
+
-3,
|
|
217
|
+
-4,
|
|
218
|
+
-5,
|
|
219
|
+
BigInt(-6),
|
|
220
|
+
3,
|
|
221
|
+
4,
|
|
222
|
+
5,
|
|
223
|
+
BigInt(6),
|
|
224
|
+
parseFloat((3.1415 * 4).toFixed(5)),
|
|
225
|
+
parseFloat((3.14159265 * 4).toFixed(15)),
|
|
226
|
+
"varchar_列_肆",
|
|
227
|
+
"nchar_列_丁",
|
|
228
|
+
false,
|
|
229
|
+
"NULL",
|
|
230
|
+
"POLYGON ((3.000000 6.000000, 5.000000 6.000000, 5.000000 8.000000, 3.000000 8.000000, 3.000000 6.000000))",
|
|
231
|
+
"0x7661726335",
|
|
232
|
+
],
|
|
233
|
+
[
|
|
234
|
+
BigInt(1656677800000),
|
|
235
|
+
-4,
|
|
236
|
+
-5,
|
|
237
|
+
-6,
|
|
238
|
+
BigInt(-7),
|
|
239
|
+
4,
|
|
240
|
+
5,
|
|
241
|
+
6,
|
|
242
|
+
BigInt(7),
|
|
243
|
+
parseFloat((3.1415 * 5).toFixed(5)),
|
|
244
|
+
parseFloat((3.14159265 * 5).toFixed(15)),
|
|
245
|
+
"varchar_列_伍",
|
|
246
|
+
"nchar_列_戊",
|
|
247
|
+
true,
|
|
248
|
+
"NULL",
|
|
249
|
+
"POINT (7.0 9.0)",
|
|
250
|
+
"0x7661726335",
|
|
251
|
+
],
|
|
252
|
+
];
|
|
253
|
+
const jsonTags = [
|
|
254
|
+
'{"key1":"taos","key2":null,"key3":"TDengine","key4":0,"key5":false}',
|
|
255
|
+
];
|
|
256
|
+
const jsonTagsCN = [
|
|
257
|
+
'{"key1":"taosdata","key2":null,"key3":"TDengine涛思数据","key4":1,"key5":true}',
|
|
258
|
+
];
|
|
259
|
+
const selectStable = `select * from ${stable}`;
|
|
260
|
+
const selectStableCN = `select * from ${stableCN}`;
|
|
261
|
+
const selectTable = `select * from ${table}`;
|
|
262
|
+
const selectTableCN = `select * from ${tableCN}`;
|
|
263
|
+
const selectJsonTable = `select * from ${jsonTable}`;
|
|
264
|
+
const selectJsonTableCN = `select * from ${jsonTableCN}`;
|
|
265
|
+
beforeAll(async () => {
|
|
266
|
+
let ws = await wsSql_1.WsSql.open(conf);
|
|
267
|
+
await ws.exec(dropDB);
|
|
268
|
+
await ws.exec(createDB);
|
|
269
|
+
await ws.exec(useDB);
|
|
270
|
+
await ws.exec((0, utils_1.createSTable)(stable));
|
|
271
|
+
await ws.exec((0, utils_1.createSTable)(stableCN));
|
|
272
|
+
await ws.exec((0, utils_1.createTable)(table));
|
|
273
|
+
await ws.exec((0, utils_1.createTable)(tableCN));
|
|
274
|
+
await ws.exec((0, utils_1.createSTableJSON)(jsonTable));
|
|
275
|
+
await ws.exec((0, utils_1.createSTableJSON)(jsonTableCN));
|
|
276
|
+
await ws.close();
|
|
277
|
+
});
|
|
278
|
+
describe("ws.query(stable)", () => {
|
|
279
|
+
jest.setTimeout(20 * 1000);
|
|
280
|
+
test("Insert query stable without CN character", async () => {
|
|
281
|
+
let ws = await wsSql_1.WsSql.open(conf);
|
|
282
|
+
await ws.exec(useDB);
|
|
283
|
+
let insert = (0, utils_1.insertStable)(tableValues, stableTags, stable);
|
|
284
|
+
let insertRes = await ws.exec(insert);
|
|
285
|
+
expect(insertRes.getAffectRows()).toBe(5);
|
|
286
|
+
let queryRes = await ws.exec(selectStable);
|
|
287
|
+
let expectMeta = utils_1.tableMeta.concat(utils_1.tagMeta);
|
|
288
|
+
let expectData = (0, utils_1.expectStableData)(tableValues, stableTags);
|
|
289
|
+
let actualMeta = queryRes.getMeta();
|
|
290
|
+
let actualData = queryRes.getData();
|
|
291
|
+
await ws.close();
|
|
292
|
+
if (actualData && actualMeta) {
|
|
293
|
+
actualMeta.forEach((meta, index) => {
|
|
294
|
+
expect(meta.name).toBe(expectMeta[index].name);
|
|
295
|
+
expect(meta.type).toBe(expectMeta[index].type);
|
|
296
|
+
expect(meta.length).toBe(expectMeta[index].length);
|
|
297
|
+
});
|
|
298
|
+
for (let i = 0; i < actualData.length; i++) {
|
|
299
|
+
actualData[i].forEach((d, index) => {
|
|
300
|
+
if (expectMeta[index].name == "geo" ||
|
|
301
|
+
expectMeta[index].name == "vbinary") {
|
|
302
|
+
let buffer = resultMap.get(expectData[i][index]);
|
|
303
|
+
if (buffer) {
|
|
304
|
+
let dbData = d;
|
|
305
|
+
console.log(i, index, dbData, expectData[i][index], buffer, (0, utils_1.compareUint8Arrays)(new Uint8Array(dbData), new Uint8Array(buffer)));
|
|
306
|
+
expect((0, utils_1.compareUint8Arrays)(new Uint8Array(dbData), new Uint8Array(buffer))).toBe(true);
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
else {
|
|
310
|
+
expect(d).toBe(expectData[i][index]);
|
|
311
|
+
}
|
|
312
|
+
});
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
else {
|
|
316
|
+
throw new Error("retrieve empty result");
|
|
317
|
+
}
|
|
318
|
+
});
|
|
319
|
+
test("query stable with CN character", async () => {
|
|
320
|
+
let ws = await wsSql_1.WsSql.open(conf);
|
|
321
|
+
await ws.exec(useDB);
|
|
322
|
+
let insertCN = (0, utils_1.insertStable)(tableCNValues, stableCNTags, stableCN);
|
|
323
|
+
let insertRes = await ws.exec(insertCN);
|
|
324
|
+
expect(insertRes.getAffectRows()).toBe(5);
|
|
325
|
+
let queryRes = await ws.exec(selectStableCN);
|
|
326
|
+
let expectMeta = utils_1.tableMeta.concat(utils_1.tagMeta);
|
|
327
|
+
let expectData = (0, utils_1.expectStableData)(tableCNValues, stableCNTags);
|
|
328
|
+
let actualMeta = queryRes.getMeta();
|
|
329
|
+
let actualData = queryRes.getData();
|
|
330
|
+
await ws.close();
|
|
331
|
+
if (actualData && actualMeta) {
|
|
332
|
+
actualMeta.forEach((meta, index) => {
|
|
333
|
+
expect(meta.name).toBe(expectMeta[index].name);
|
|
334
|
+
expect(meta.type).toBe(expectMeta[index].type);
|
|
335
|
+
expect(meta.length).toBe(expectMeta[index].length);
|
|
336
|
+
});
|
|
337
|
+
for (let i = 0; i < actualData.length; i++) {
|
|
338
|
+
actualData[i].forEach((d, index) => {
|
|
339
|
+
if (expectMeta[index].name == "geo" ||
|
|
340
|
+
expectMeta[index].name == "vbinary") {
|
|
341
|
+
let buffer = resultMap.get(expectData[i][index]);
|
|
342
|
+
if (buffer) {
|
|
343
|
+
let dbData = d;
|
|
344
|
+
console.log(i, index, dbData, expectData[i][index], buffer, (0, utils_1.compareUint8Arrays)(new Uint8Array(dbData), new Uint8Array(buffer)));
|
|
345
|
+
expect((0, utils_1.compareUint8Arrays)(new Uint8Array(dbData), new Uint8Array(buffer))).toBe(true);
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
else {
|
|
349
|
+
expect(d).toBe(expectData[i][index]);
|
|
350
|
+
}
|
|
351
|
+
});
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
else {
|
|
355
|
+
throw new Error("retrieve empty result");
|
|
356
|
+
}
|
|
357
|
+
});
|
|
358
|
+
});
|
|
359
|
+
describe("ws.query(table)", () => {
|
|
360
|
+
test("Insert query normal table without CN character", async () => {
|
|
361
|
+
let ws = await wsSql_1.WsSql.open(conf);
|
|
362
|
+
await ws.exec(useDB);
|
|
363
|
+
let insert = (0, utils_1.insertNTable)(tableValues, table);
|
|
364
|
+
let insertRes = await ws.exec(insert);
|
|
365
|
+
expect(insertRes.getAffectRows()).toBe(5);
|
|
366
|
+
let queryRes = await ws.exec(selectTable);
|
|
367
|
+
let expectMeta = utils_1.tableMeta;
|
|
368
|
+
let expectData = tableValues;
|
|
369
|
+
let actualMeta = queryRes.getMeta();
|
|
370
|
+
let actualData = queryRes.getData();
|
|
371
|
+
await ws.close();
|
|
372
|
+
if (actualData && actualMeta) {
|
|
373
|
+
actualMeta.forEach((meta, index) => {
|
|
374
|
+
expect(meta.name).toBe(expectMeta[index].name);
|
|
375
|
+
expect(meta.type).toBe(expectMeta[index].type);
|
|
376
|
+
expect(meta.length).toBe(expectMeta[index].length);
|
|
377
|
+
});
|
|
378
|
+
for (let i = 0; i < actualData.length; i++) {
|
|
379
|
+
actualData[i].forEach((d, index) => {
|
|
380
|
+
if (expectMeta[index].name == "geo" ||
|
|
381
|
+
expectMeta[index].name == "vbinary") {
|
|
382
|
+
expect(d).toBeTruthy();
|
|
383
|
+
}
|
|
384
|
+
else {
|
|
385
|
+
expect(d).toBe(expectData[i][index]);
|
|
386
|
+
}
|
|
387
|
+
});
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
else {
|
|
391
|
+
throw new Error("retrieve empty result");
|
|
392
|
+
}
|
|
393
|
+
});
|
|
394
|
+
test("Insert query normal table with CN character", async () => {
|
|
395
|
+
let ws = await wsSql_1.WsSql.open(conf);
|
|
396
|
+
await ws.exec(useDB);
|
|
397
|
+
let insertCN = (0, utils_1.insertNTable)(tableCNValues, tableCN);
|
|
398
|
+
let insertRes = await ws.exec(insertCN);
|
|
399
|
+
expect(insertRes.getAffectRows()).toBe(5);
|
|
400
|
+
let queryRes = await ws.exec(selectTableCN);
|
|
401
|
+
let expectMeta = utils_1.tableMeta;
|
|
402
|
+
let expectData = tableCNValues;
|
|
403
|
+
let actualMeta = queryRes.getMeta();
|
|
404
|
+
let actualData = queryRes.getData();
|
|
405
|
+
await ws.close();
|
|
406
|
+
if (actualData && actualMeta) {
|
|
407
|
+
actualMeta.forEach((meta, index) => {
|
|
408
|
+
expect(meta.name).toBe(expectMeta[index].name);
|
|
409
|
+
expect(meta.type).toBe(expectMeta[index].type);
|
|
410
|
+
expect(meta.length).toBe(expectMeta[index].length);
|
|
411
|
+
});
|
|
412
|
+
for (let i = 0; i < actualData.length; i++) {
|
|
413
|
+
actualData[i].forEach((d, index) => {
|
|
414
|
+
if (expectMeta[index].name == "geo" ||
|
|
415
|
+
expectMeta[index].name == "vbinary") {
|
|
416
|
+
expect(d).toBeTruthy();
|
|
417
|
+
}
|
|
418
|
+
else {
|
|
419
|
+
expect(d).toBe(expectData[i][index]);
|
|
420
|
+
}
|
|
421
|
+
});
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
else {
|
|
425
|
+
throw new Error("retrieve empty result");
|
|
426
|
+
}
|
|
427
|
+
});
|
|
428
|
+
});
|
|
429
|
+
describe("ws.query(jsonTable)", () => {
|
|
430
|
+
test("Insert and query json data from table without CN", async () => {
|
|
431
|
+
let ws = await wsSql_1.WsSql.open(conf);
|
|
432
|
+
await ws.exec(useDB);
|
|
433
|
+
let insert = (0, utils_1.insertStable)(tableValues, jsonTags, jsonTable);
|
|
434
|
+
let insertRes = await ws.exec(insert);
|
|
435
|
+
expect(insertRes.getAffectRows()).toBe(5);
|
|
436
|
+
let queryRes = await ws.exec(selectJsonTable);
|
|
437
|
+
let expectMeta = utils_1.tableMeta.concat(utils_1.jsonMeta);
|
|
438
|
+
let expectData = (0, utils_1.expectStableData)(tableValues, jsonTags);
|
|
439
|
+
let actualMeta = queryRes.getMeta();
|
|
440
|
+
let actualData = queryRes.getData();
|
|
441
|
+
await ws.close();
|
|
442
|
+
if (actualData && actualMeta) {
|
|
443
|
+
actualMeta.forEach((meta, index) => {
|
|
444
|
+
// console.log(meta);
|
|
445
|
+
expect(meta.name).toBe(expectMeta[index].name);
|
|
446
|
+
expect(meta.type).toBe(expectMeta[index].type);
|
|
447
|
+
expect(meta.length).toBe(expectMeta[index].length);
|
|
448
|
+
});
|
|
449
|
+
for (let i = 0; i < actualData.length; i++) {
|
|
450
|
+
actualData[i].forEach((d, index) => {
|
|
451
|
+
if (expectMeta[index].name == "geo" ||
|
|
452
|
+
expectMeta[index].name == "vbinary") {
|
|
453
|
+
expect(d).toBeTruthy();
|
|
454
|
+
}
|
|
455
|
+
else {
|
|
456
|
+
expect(d).toBe(expectData[i][index]);
|
|
457
|
+
}
|
|
458
|
+
});
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
else {
|
|
462
|
+
throw new Error("retrieve empty result");
|
|
463
|
+
}
|
|
464
|
+
});
|
|
465
|
+
test("Insert and query json data from table with CN", async () => {
|
|
466
|
+
let ws = await wsSql_1.WsSql.open(conf);
|
|
467
|
+
await ws.exec(useDB);
|
|
468
|
+
let insert = (0, utils_1.insertStable)(tableCNValues, jsonTagsCN, jsonTableCN);
|
|
469
|
+
let insertRes = await ws.exec(insert);
|
|
470
|
+
expect(insertRes.getAffectRows()).toBe(5);
|
|
471
|
+
let queryRes = await ws.exec(selectJsonTableCN);
|
|
472
|
+
let expectMeta = utils_1.tableMeta.concat(utils_1.jsonMeta);
|
|
473
|
+
let expectData = (0, utils_1.expectStableData)(tableCNValues, jsonTagsCN);
|
|
474
|
+
let actualMeta = queryRes.getMeta();
|
|
475
|
+
let actualData = queryRes.getData();
|
|
476
|
+
await ws.close();
|
|
477
|
+
if (actualData && actualMeta) {
|
|
478
|
+
actualMeta.forEach((meta, index) => {
|
|
479
|
+
// console.log(meta);
|
|
480
|
+
expect(meta.name).toBe(expectMeta[index].name);
|
|
481
|
+
expect(meta.type).toBe(expectMeta[index].type);
|
|
482
|
+
expect(meta.length).toBe(expectMeta[index].length);
|
|
483
|
+
});
|
|
484
|
+
for (let i = 0; i < actualData.length; i++) {
|
|
485
|
+
actualData[i].forEach((d, index) => {
|
|
486
|
+
if (expectMeta[index].name == "geo" ||
|
|
487
|
+
expectMeta[index].name == "vbinary") {
|
|
488
|
+
expect(d).toBeTruthy();
|
|
489
|
+
}
|
|
490
|
+
else {
|
|
491
|
+
expect(d).toBe(expectData[i][index]);
|
|
492
|
+
}
|
|
493
|
+
});
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
else {
|
|
497
|
+
throw new Error("retrieve empty result");
|
|
498
|
+
}
|
|
499
|
+
});
|
|
500
|
+
});
|
|
501
|
+
afterAll(async () => {
|
|
502
|
+
let ws = await wsSql_1.WsSql.open(conf);
|
|
503
|
+
await ws.exec(dropDB);
|
|
504
|
+
await ws.close();
|
|
505
|
+
wsConnectorPool_1.WebSocketConnectionPool.instance().destroyed();
|
|
506
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemaless.test.d.ts","sourceRoot":"","sources":["../../../test/sql/schemaless.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const wsConnectorPool_1 = require("@src/client/wsConnectorPool");
|
|
4
|
+
const config_1 = require("@src/common/config");
|
|
5
|
+
const wsProto_1 = require("@src/sql/wsProto");
|
|
6
|
+
const wsSql_1 = require("@src/sql/wsSql");
|
|
7
|
+
const utils_1 = require("@test-helpers/utils");
|
|
8
|
+
let dns = "ws://localhost:6041";
|
|
9
|
+
beforeAll(async () => {
|
|
10
|
+
let conf = new config_1.WSConfig(dns);
|
|
11
|
+
conf.setUser((0, utils_1.testUsername)());
|
|
12
|
+
conf.setPwd((0, utils_1.testPassword)());
|
|
13
|
+
let wsSql = await wsSql_1.WsSql.open(conf);
|
|
14
|
+
await wsSql.exec("drop database if exists power_schemaless;");
|
|
15
|
+
await wsSql.exec("create database if not exists power_schemaless KEEP 3650 DURATION 10 BUFFER 16 WAL_LEVEL 1;");
|
|
16
|
+
await wsSql.exec("CREATE STABLE if not exists power_schemaless.meters (ts timestamp, current float, voltage int, phase float) TAGS (location binary(64), groupId int);");
|
|
17
|
+
await wsSql.close();
|
|
18
|
+
});
|
|
19
|
+
describe("TDWebSocket.WsSchemaless()", () => {
|
|
20
|
+
jest.setTimeout(20 * 1000);
|
|
21
|
+
let influxdbData = 'st,t1=3i64,t2=4f64,t3="t3" c1=3i64,c3=L"passit",c2=false,c4=4f64 1626006833639000000';
|
|
22
|
+
let telnetData = "stb0_0 1626006833 4 host=host0 interface=eth0";
|
|
23
|
+
let jsonData = '{"metric": "meter_current","timestamp": 1626846400,"value": 10.3, "tags": {"groupid": 2, "location": "California.SanFrancisco", "id": "d1001"}}';
|
|
24
|
+
test("normal connect", async () => {
|
|
25
|
+
let conf = new config_1.WSConfig(dns);
|
|
26
|
+
conf.setUser((0, utils_1.testUsername)());
|
|
27
|
+
conf.setPwd((0, utils_1.testPassword)());
|
|
28
|
+
conf.setDb("power_schemaless");
|
|
29
|
+
let wsSchemaless = await wsSql_1.WsSql.open(conf);
|
|
30
|
+
expect(wsSchemaless.state()).toBeGreaterThan(0);
|
|
31
|
+
await wsSchemaless.close();
|
|
32
|
+
});
|
|
33
|
+
test("connect db with error", async () => {
|
|
34
|
+
expect.assertions(1);
|
|
35
|
+
let wsSchemaless = null;
|
|
36
|
+
try {
|
|
37
|
+
let conf = new config_1.WSConfig(dns);
|
|
38
|
+
conf.setUser((0, utils_1.testUsername)());
|
|
39
|
+
conf.setPwd((0, utils_1.testPassword)());
|
|
40
|
+
conf.setDb("jest");
|
|
41
|
+
wsSchemaless = await wsSql_1.WsSql.open(conf);
|
|
42
|
+
}
|
|
43
|
+
catch (e) {
|
|
44
|
+
console.log(e);
|
|
45
|
+
expect(e.message).toMatch("Database not exist");
|
|
46
|
+
}
|
|
47
|
+
finally {
|
|
48
|
+
if (wsSchemaless) {
|
|
49
|
+
await wsSchemaless.close();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
test("normal insert", async () => {
|
|
54
|
+
let conf = new config_1.WSConfig(dns);
|
|
55
|
+
conf.setUser((0, utils_1.testUsername)());
|
|
56
|
+
conf.setPwd((0, utils_1.testPassword)());
|
|
57
|
+
conf.setDb("power_schemaless");
|
|
58
|
+
let wsSchemaless = await wsSql_1.WsSql.open(conf);
|
|
59
|
+
expect(wsSchemaless.state()).toBeGreaterThan(0);
|
|
60
|
+
await wsSchemaless.schemalessInsert([influxdbData], wsProto_1.SchemalessProto.InfluxDBLineProtocol, wsProto_1.Precision.NANO_SECONDS, 0);
|
|
61
|
+
await wsSchemaless.schemalessInsert([telnetData], wsProto_1.SchemalessProto.OpenTSDBTelnetLineProtocol, wsProto_1.Precision.SECONDS, 0);
|
|
62
|
+
await wsSchemaless.schemalessInsert([jsonData], wsProto_1.SchemalessProto.OpenTSDBJsonFormatProtocol, wsProto_1.Precision.SECONDS, 0);
|
|
63
|
+
await wsSchemaless.close();
|
|
64
|
+
});
|
|
65
|
+
test("normal wsSql insert", async () => {
|
|
66
|
+
let conf = new config_1.WSConfig(dns);
|
|
67
|
+
conf.setUser((0, utils_1.testUsername)());
|
|
68
|
+
conf.setPwd((0, utils_1.testPassword)());
|
|
69
|
+
conf.setDb("power_schemaless");
|
|
70
|
+
let wsSchemaless = await wsSql_1.WsSql.open(conf);
|
|
71
|
+
expect(wsSchemaless.state()).toBeGreaterThan(0);
|
|
72
|
+
await wsSchemaless.schemalessInsert([influxdbData], wsProto_1.SchemalessProto.InfluxDBLineProtocol, wsProto_1.Precision.NOT_CONFIGURED, 0);
|
|
73
|
+
await wsSchemaless.schemalessInsert([influxdbData], wsProto_1.SchemalessProto.InfluxDBLineProtocol, wsProto_1.Precision.NANO_SECONDS, 0);
|
|
74
|
+
await wsSchemaless.schemalessInsert([telnetData], wsProto_1.SchemalessProto.OpenTSDBTelnetLineProtocol, wsProto_1.Precision.SECONDS, 0);
|
|
75
|
+
await wsSchemaless.schemalessInsert([jsonData], wsProto_1.SchemalessProto.OpenTSDBJsonFormatProtocol, wsProto_1.Precision.SECONDS, 0);
|
|
76
|
+
await wsSchemaless.close();
|
|
77
|
+
});
|
|
78
|
+
test("SchemalessProto error", async () => {
|
|
79
|
+
let conf = new config_1.WSConfig(dns);
|
|
80
|
+
conf.setUser((0, utils_1.testUsername)());
|
|
81
|
+
conf.setPwd((0, utils_1.testPassword)());
|
|
82
|
+
conf.setDb("power_schemaless");
|
|
83
|
+
let wsSchemaless = await wsSql_1.WsSql.open(conf);
|
|
84
|
+
expect(wsSchemaless.state()).toBeGreaterThan(0);
|
|
85
|
+
try {
|
|
86
|
+
await wsSchemaless.schemalessInsert([influxdbData], wsProto_1.SchemalessProto.OpenTSDBTelnetLineProtocol, wsProto_1.Precision.NANO_SECONDS, 0);
|
|
87
|
+
}
|
|
88
|
+
catch (e) {
|
|
89
|
+
expect(e.message).toMatch("parse timestamp failed");
|
|
90
|
+
}
|
|
91
|
+
await wsSchemaless.close();
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
afterAll(async () => {
|
|
95
|
+
let conf = new config_1.WSConfig(dns);
|
|
96
|
+
conf.setUser((0, utils_1.testUsername)());
|
|
97
|
+
conf.setPwd((0, utils_1.testPassword)());
|
|
98
|
+
let wsSql = await wsSql_1.WsSql.open(conf);
|
|
99
|
+
await wsSql.exec("drop database if exists power_schemaless;");
|
|
100
|
+
await wsSql.close();
|
|
101
|
+
wsConnectorPool_1.WebSocketConnectionPool.instance().destroyed();
|
|
102
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql.failover.test.d.ts","sourceRoot":"","sources":["../../../test/sql/sql.failover.test.ts"],"names":[],"mappings":""}
|