@tdengine/websocket 3.1.9 → 3.2.1
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/example/all_type_query.js +26 -22
- package/lib/example/all_type_stmt.js +22 -20
- package/lib/example/basicBatchTmq.js +14 -14
- package/lib/example/basicSchemaless.js +11 -11
- package/lib/example/basicSql.js +10 -10
- package/lib/example/basicStmt.js +3 -3
- package/lib/example/basicTmq.js +8 -9
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/src/client/wsClient.d.ts +3 -2
- package/lib/src/client/wsClient.d.ts.map +1 -1
- package/lib/src/client/wsClient.js +66 -40
- package/lib/src/client/wsConnector.d.ts.map +1 -1
- package/lib/src/client/wsConnector.js +40 -14
- package/lib/src/client/wsConnectorPool.d.ts.map +1 -1
- package/lib/src/client/wsConnectorPool.js +29 -14
- package/lib/src/client/wsEventCallback.d.ts.map +1 -1
- package/lib/src/client/wsEventCallback.js +6 -4
- package/lib/src/client/wsResponse.d.ts.map +1 -1
- package/lib/src/client/wsResponse.js +6 -2
- package/lib/src/common/config.d.ts +5 -3
- package/lib/src/common/config.d.ts.map +1 -1
- package/lib/src/common/config.js +15 -5
- package/lib/src/common/constant.d.ts +11 -1
- package/lib/src/common/constant.d.ts.map +1 -1
- package/lib/src/common/constant.js +48 -40
- package/lib/src/common/log.d.ts +1 -1
- package/lib/src/common/log.d.ts.map +1 -1
- package/lib/src/common/log.js +9 -7
- package/lib/src/common/reqid.d.ts.map +1 -1
- package/lib/src/common/reqid.js +7 -7
- package/lib/src/common/taosResult.d.ts.map +1 -1
- package/lib/src/common/taosResult.js +46 -27
- package/lib/src/common/ut8Helper.d.ts.map +1 -1
- package/lib/src/common/ut8Helper.js +8 -8
- package/lib/src/common/utils.d.ts.map +1 -1
- package/lib/src/common/utils.js +17 -16
- package/lib/src/common/wsError.d.ts.map +1 -1
- package/lib/src/common/wsError.js +3 -3
- package/lib/src/common/wsOptions.d.ts +1 -1
- package/lib/src/index.d.ts +3 -3
- package/lib/src/index.d.ts.map +1 -1
- package/lib/src/sql/wsProto.d.ts.map +1 -1
- package/lib/src/sql/wsRows.d.ts +3 -3
- package/lib/src/sql/wsRows.d.ts.map +1 -1
- package/lib/src/sql/wsRows.js +4 -2
- package/lib/src/sql/wsSql.d.ts +5 -5
- package/lib/src/sql/wsSql.d.ts.map +1 -1
- package/lib/src/sql/wsSql.js +23 -15
- package/lib/src/stmt/FieldBindParams.d.ts +9 -0
- package/lib/src/stmt/FieldBindParams.d.ts.map +1 -0
- package/lib/src/stmt/FieldBindParams.js +13 -0
- package/lib/src/stmt/wsColumnInfo.d.ts +12 -0
- package/lib/src/stmt/wsColumnInfo.d.ts.map +1 -0
- package/lib/src/stmt/wsColumnInfo.js +17 -0
- package/lib/src/stmt/wsParams1.d.ts +14 -0
- package/lib/src/stmt/wsParams1.d.ts.map +1 -0
- package/lib/src/stmt/wsParams1.js +300 -0
- package/lib/src/stmt/wsParams2.d.ts +14 -0
- package/lib/src/stmt/wsParams2.d.ts.map +1 -0
- package/lib/src/stmt/wsParams2.js +203 -0
- package/lib/src/stmt/wsParamsBase.d.ts +45 -0
- package/lib/src/stmt/wsParamsBase.d.ts.map +1 -0
- package/lib/src/stmt/wsParamsBase.js +220 -0
- package/lib/src/stmt/wsProto.d.ts +13 -1
- package/lib/src/stmt/wsProto.d.ts.map +1 -1
- package/lib/src/stmt/wsProto.js +206 -2
- package/lib/src/stmt/wsStmt.d.ts +6 -16
- package/lib/src/stmt/wsStmt.d.ts.map +1 -1
- package/lib/src/stmt/wsStmt.js +0 -201
- package/lib/src/stmt/wsStmt1.d.ts +30 -0
- package/lib/src/stmt/wsStmt1.d.ts.map +1 -0
- package/lib/src/stmt/wsStmt1.js +206 -0
- package/lib/src/stmt/wsStmt2.d.ts +37 -0
- package/lib/src/stmt/wsStmt2.d.ts.map +1 -0
- package/lib/src/stmt/wsStmt2.js +284 -0
- package/lib/src/stmt/wsTableInfo.d.ts +17 -0
- package/lib/src/stmt/wsTableInfo.d.ts.map +1 -0
- package/lib/src/stmt/wsTableInfo.js +54 -0
- package/lib/src/tmq/config.d.ts.map +1 -1
- package/lib/src/tmq/config.js +2 -2
- package/lib/src/tmq/constant.d.ts.map +1 -1
- package/lib/src/tmq/constant.js +28 -28
- package/lib/src/tmq/tmqResponse.d.ts.map +1 -1
- package/lib/src/tmq/tmqResponse.js +31 -17
- package/lib/src/tmq/wsTmq.d.ts +2 -2
- package/lib/src/tmq/wsTmq.d.ts.map +1 -1
- package/lib/src/tmq/wsTmq.js +32 -30
- package/lib/test/bulkPulling/cloud.tmq.test.js +11 -11
- package/lib/test/bulkPulling/decimal.test.js +50 -26
- package/lib/test/bulkPulling/log.test.js +8 -8
- package/lib/test/bulkPulling/queryTables.test.js +255 -49
- package/lib/test/bulkPulling/schemaless.test.js +34 -34
- package/lib/test/bulkPulling/sql.test.js +108 -66
- package/lib/test/bulkPulling/stmt1.func.test.d.ts +2 -0
- package/lib/test/bulkPulling/stmt1.func.test.d.ts.map +1 -0
- package/lib/test/bulkPulling/{stmt.func.test.js → stmt1.func.test.js} +128 -116
- package/lib/test/bulkPulling/stmt1.type.test.d.ts +2 -0
- package/lib/test/bulkPulling/stmt1.type.test.d.ts.map +1 -0
- package/lib/test/bulkPulling/stmt1.type.test.js +399 -0
- package/lib/test/bulkPulling/stmt2.func.test.d.ts +2 -0
- package/lib/test/bulkPulling/stmt2.func.test.d.ts.map +1 -0
- package/lib/test/bulkPulling/stmt2.func.test.js +543 -0
- package/lib/test/bulkPulling/stmt2.type.test.d.ts +2 -0
- package/lib/test/bulkPulling/stmt2.type.test.d.ts.map +1 -0
- package/lib/test/bulkPulling/{stmt.type.test.js → stmt2.type.test.js} +136 -49
- package/lib/test/bulkPulling/tmq.test.js +225 -31
- package/lib/test/bulkPulling/utils.test.js +2 -2
- package/lib/test/bulkPulling/wsConnectPool.test.js +20 -20
- package/lib/test/utils.d.ts.map +1 -1
- package/lib/test/utils.js +130 -129
- package/package.json +1 -1
- package/readme.md +1 -0
- package/lib/src/stmt/wsParams.d.ts +0 -41
- package/lib/src/stmt/wsParams.d.ts.map +0 -1
- package/lib/src/stmt/wsParams.js +0 -428
- package/lib/test/bulkPulling/stmt.func.test.d.ts +0 -2
- package/lib/test/bulkPulling/stmt.func.test.d.ts.map +0 -1
- package/lib/test/bulkPulling/stmt.type.test.d.ts +0 -2
- package/lib/test/bulkPulling/stmt.type.test.d.ts.map +0 -1
|
@@ -7,45 +7,69 @@ const utils_1 = require("../utils");
|
|
|
7
7
|
const log_1 = require("../../src/common/log");
|
|
8
8
|
const constant_1 = require("../../src/tmq/constant");
|
|
9
9
|
const wsTmq_1 = require("../../src/tmq/wsTmq");
|
|
10
|
-
let dns =
|
|
10
|
+
let dns = "ws://localhost:6041";
|
|
11
11
|
let createTopic = `create topic if not exists topic_decimal_test as select * from power.decimal_test`;
|
|
12
12
|
let dropTopic = `DROP TOPIC IF EXISTS topic_decimal_test;`;
|
|
13
13
|
(0, log_1.setLevel)("debug");
|
|
14
14
|
beforeAll(async () => {
|
|
15
15
|
let conf = new config_1.WSConfig(dns);
|
|
16
|
-
conf.setUser(
|
|
17
|
-
conf.setPwd(
|
|
16
|
+
conf.setUser("root");
|
|
17
|
+
conf.setPwd("taosdata");
|
|
18
18
|
let wsSql = await wsSql_1.WsSql.open(conf);
|
|
19
19
|
await wsSql.exec(dropTopic);
|
|
20
|
-
await wsSql.exec(
|
|
21
|
-
await wsSql.exec(
|
|
20
|
+
await wsSql.exec("drop database if exists power");
|
|
21
|
+
await wsSql.exec("create database if not exists power KEEP 3650 DURATION 10 BUFFER 16 WAL_LEVEL 1;");
|
|
22
22
|
await (0, utils_1.Sleep)(100);
|
|
23
|
-
await wsSql.exec(
|
|
24
|
-
await wsSql.exec(
|
|
23
|
+
await wsSql.exec("use power");
|
|
24
|
+
await wsSql.exec("CREATE STABLE if not exists decimal_test (ts timestamp, dec64 decimal(10,6), dec128 decimal(24,10), int1 int) TAGS (location binary(64), groupId int);");
|
|
25
25
|
await wsSql.exec(createTopic);
|
|
26
26
|
await wsSql.close();
|
|
27
27
|
});
|
|
28
28
|
const expectedResultsMap = new Map([
|
|
29
|
-
[
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
[
|
|
30
|
+
"-1234.654321",
|
|
31
|
+
{
|
|
32
|
+
dec128: "-123456789012.0987654321",
|
|
33
|
+
int1: 3,
|
|
34
|
+
location: "California",
|
|
35
|
+
groupId: 3,
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
[
|
|
39
|
+
"-0.000654",
|
|
40
|
+
{
|
|
41
|
+
dec128: "-0.0009876543",
|
|
42
|
+
int1: 2,
|
|
43
|
+
location: "California",
|
|
44
|
+
groupId: 3,
|
|
45
|
+
},
|
|
46
|
+
],
|
|
47
|
+
[
|
|
48
|
+
"9876.123456",
|
|
49
|
+
{
|
|
50
|
+
dec128: "1234567890.0987654321",
|
|
51
|
+
int1: 1,
|
|
52
|
+
location: "California",
|
|
53
|
+
groupId: 3,
|
|
54
|
+
},
|
|
55
|
+
],
|
|
32
56
|
]);
|
|
33
|
-
describe(
|
|
57
|
+
describe("TDWebSocket.WsSql()", () => {
|
|
34
58
|
jest.setTimeout(20 * 1000);
|
|
35
|
-
test(
|
|
59
|
+
test("insert recoder", async () => {
|
|
36
60
|
let conf = new config_1.WSConfig(dns);
|
|
37
|
-
conf.setUser(
|
|
38
|
-
conf.setPwd(
|
|
61
|
+
conf.setUser("root");
|
|
62
|
+
conf.setPwd("taosdata");
|
|
39
63
|
let wsSql = await wsSql_1.WsSql.open(conf);
|
|
40
|
-
let taosResult = await wsSql.exec(
|
|
64
|
+
let taosResult = await wsSql.exec("use power");
|
|
41
65
|
console.log(taosResult);
|
|
42
66
|
expect(taosResult).toBeTruthy();
|
|
43
|
-
taosResult = await wsSql.exec(
|
|
67
|
+
taosResult = await wsSql.exec("describe decimal_test");
|
|
44
68
|
console.log(taosResult);
|
|
45
69
|
taosResult = await wsSql.exec('INSERT INTO d1001 USING decimal_test (location, groupid) TAGS ("California", 3) VALUES (NOW, "9876.123456", "1234567890.0987654321", 1) (NOW + 1a, "-0.000654", "-0.0009876543", 2) (NOW + 2a, "-1234.654321", "-123456789012.0987654321", 3)');
|
|
46
70
|
console.log(taosResult);
|
|
47
71
|
expect(taosResult.getAffectRows()).toBeGreaterThanOrEqual(3);
|
|
48
|
-
let wsRows = await wsSql.query(
|
|
72
|
+
let wsRows = await wsSql.query("select * from decimal_test");
|
|
49
73
|
expect(wsRows).toBeTruthy();
|
|
50
74
|
let meta = wsRows.getMeta();
|
|
51
75
|
expect(meta).toBeTruthy();
|
|
@@ -69,22 +93,22 @@ describe('TDWebSocket.WsSql()', () => {
|
|
|
69
93
|
expect(count).toBe(3);
|
|
70
94
|
});
|
|
71
95
|
});
|
|
72
|
-
test(
|
|
96
|
+
test("normal Subscribe", async () => {
|
|
73
97
|
let configMap = new Map([
|
|
74
98
|
[constant_1.TMQConstants.GROUP_ID, "gId"],
|
|
75
99
|
[constant_1.TMQConstants.CONNECT_USER, "root"],
|
|
76
100
|
[constant_1.TMQConstants.CONNECT_PASS, "taosdata"],
|
|
77
101
|
[constant_1.TMQConstants.AUTO_OFFSET_RESET, "earliest"],
|
|
78
|
-
[constant_1.TMQConstants.CLIENT_ID,
|
|
102
|
+
[constant_1.TMQConstants.CLIENT_ID, "test_tmq_client"],
|
|
79
103
|
[constant_1.TMQConstants.WS_URL, dns],
|
|
80
|
-
[constant_1.TMQConstants.ENABLE_AUTO_COMMIT,
|
|
81
|
-
[constant_1.TMQConstants.AUTO_COMMIT_INTERVAL_MS,
|
|
104
|
+
[constant_1.TMQConstants.ENABLE_AUTO_COMMIT, "true"],
|
|
105
|
+
[constant_1.TMQConstants.AUTO_COMMIT_INTERVAL_MS, "1000"],
|
|
82
106
|
["session.timeout.ms", "10000"],
|
|
83
107
|
["max.poll.interval.ms", "30000"],
|
|
84
|
-
["msg.with.table.name", "true"]
|
|
108
|
+
["msg.with.table.name", "true"],
|
|
85
109
|
]);
|
|
86
110
|
let consumer = await wsTmq_1.WsConsumer.newConsumer(configMap);
|
|
87
|
-
await consumer.subscribe([
|
|
111
|
+
await consumer.subscribe(["topic_decimal_test"]);
|
|
88
112
|
let assignment = await consumer.assignment();
|
|
89
113
|
console.log(assignment);
|
|
90
114
|
let useTime = [];
|
|
@@ -119,11 +143,11 @@ test('normal Subscribe', async () => {
|
|
|
119
143
|
});
|
|
120
144
|
afterAll(async () => {
|
|
121
145
|
let conf = new config_1.WSConfig(dns);
|
|
122
|
-
conf.setUser(
|
|
123
|
-
conf.setPwd(
|
|
146
|
+
conf.setUser("root");
|
|
147
|
+
conf.setPwd("taosdata");
|
|
124
148
|
let wsSql = await wsSql_1.WsSql.open(conf);
|
|
125
149
|
await wsSql.exec(dropTopic);
|
|
126
|
-
await wsSql.exec(
|
|
150
|
+
await wsSql.exec("drop database power");
|
|
127
151
|
await wsSql.close();
|
|
128
152
|
wsConnectorPool_1.WebSocketConnectionPool.instance().destroyed();
|
|
129
153
|
});
|
|
@@ -34,20 +34,20 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
const log_1 = __importStar(require("../../src/common/log"));
|
|
37
|
-
describe(
|
|
38
|
-
test(
|
|
39
|
-
log_1.default.info(
|
|
40
|
-
log_1.default.debug(
|
|
41
|
-
log_1.default.error(
|
|
37
|
+
describe("log level print", () => {
|
|
38
|
+
test("normal connect", async () => {
|
|
39
|
+
log_1.default.info("log level is info");
|
|
40
|
+
log_1.default.debug("log level is debug");
|
|
41
|
+
log_1.default.error("log level is error");
|
|
42
42
|
let isLevel = log_1.default.isLevelEnabled("info");
|
|
43
43
|
expect(isLevel).toEqual(true);
|
|
44
44
|
(0, log_1.setLevel)("debug");
|
|
45
|
-
log_1.default.debug(
|
|
45
|
+
log_1.default.debug("log level is debug");
|
|
46
46
|
isLevel = log_1.default.isLevelEnabled("debug");
|
|
47
47
|
expect(isLevel).toEqual(true);
|
|
48
48
|
(0, log_1.setLevel)("error");
|
|
49
|
-
log_1.default.error(
|
|
50
|
-
log_1.default.debug(
|
|
49
|
+
log_1.default.error("log level is error");
|
|
50
|
+
log_1.default.debug("log level is debug");
|
|
51
51
|
isLevel = log_1.default.isLevelEnabled("error");
|
|
52
52
|
expect(isLevel).toEqual(true);
|
|
53
53
|
});
|
|
@@ -4,8 +4,7 @@ const wsConnectorPool_1 = require("../../src/client/wsConnectorPool");
|
|
|
4
4
|
const config_1 = require("../../src/common/config");
|
|
5
5
|
const wsSql_1 = require("../../src/sql/wsSql");
|
|
6
6
|
const utils_1 = require("../utils");
|
|
7
|
-
|
|
8
|
-
let dsn = 'ws://root:taosdata@localhost:6041';
|
|
7
|
+
let dsn = "ws://root:taosdata@localhost:6041";
|
|
9
8
|
let conf = new config_1.WSConfig(dsn);
|
|
10
9
|
const resultMap = new Map();
|
|
11
10
|
resultMap.set("POINT (4.0 8.0)", (0, utils_1.hexToBytes)("010100000000000000000010400000000000002040"));
|
|
@@ -17,34 +16,246 @@ resultMap.set("0x7661726332", (0, utils_1.hexToBytes)("307837363631373236333332"
|
|
|
17
16
|
resultMap.set("0x7661726333", (0, utils_1.hexToBytes)("307837363631373236333333"));
|
|
18
17
|
resultMap.set("0x7661726334", (0, utils_1.hexToBytes)("307837363631373236333334"));
|
|
19
18
|
resultMap.set("0x7661726335", (0, utils_1.hexToBytes)("307837363631373236333335"));
|
|
20
|
-
const table =
|
|
21
|
-
const stable =
|
|
22
|
-
const tableCN =
|
|
23
|
-
const stableCN =
|
|
24
|
-
const db =
|
|
25
|
-
const jsonTable =
|
|
26
|
-
const jsonTableCN =
|
|
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";
|
|
27
26
|
const createDB = `create database if not exists ${db} keep 3650`;
|
|
28
27
|
const dropDB = `drop database if exists ${db}`;
|
|
29
28
|
const useDB = `use ${db}`;
|
|
30
|
-
const stableTags = [
|
|
31
|
-
|
|
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
|
+
];
|
|
32
59
|
const tableValues = [
|
|
33
|
-
[
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
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
|
+
],
|
|
38
155
|
];
|
|
39
156
|
const tableCNValues = [
|
|
40
|
-
[
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
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}',
|
|
45
258
|
];
|
|
46
|
-
const jsonTags = ["{\"key1\":\"taos\",\"key2\":null,\"key3\":\"TDengine\",\"key4\":0,\"key5\":false}"];
|
|
47
|
-
const jsonTagsCN = ["{\"key1\":\"taosdata\",\"key2\":null,\"key3\":\"TDengine涛思数据\",\"key4\":1,\"key5\":true}"];
|
|
48
259
|
const selectStable = `select * from ${stable}`;
|
|
49
260
|
const selectStableCN = `select * from ${stableCN}`;
|
|
50
261
|
const selectTable = `select * from ${table}`;
|
|
@@ -64,9 +275,9 @@ beforeAll(async () => {
|
|
|
64
275
|
await ws.exec((0, utils_1.createSTableJSON)(jsonTableCN));
|
|
65
276
|
await ws.close();
|
|
66
277
|
});
|
|
67
|
-
describe(
|
|
278
|
+
describe("ws.query(stable)", () => {
|
|
68
279
|
jest.setTimeout(20 * 1000);
|
|
69
|
-
test(
|
|
280
|
+
test("Insert query stable without CN character", async () => {
|
|
70
281
|
let ws = await wsSql_1.WsSql.open(conf);
|
|
71
282
|
await ws.exec(useDB);
|
|
72
283
|
let insert = (0, utils_1.insertStable)(tableValues, stableTags, stable);
|
|
@@ -86,8 +297,8 @@ describe('ws.query(stable)', () => {
|
|
|
86
297
|
});
|
|
87
298
|
for (let i = 0; i < actualData.length; i++) {
|
|
88
299
|
actualData[i].forEach((d, index) => {
|
|
89
|
-
|
|
90
|
-
|
|
300
|
+
if (expectMeta[index].name == "geo" ||
|
|
301
|
+
expectMeta[index].name == "vbinary") {
|
|
91
302
|
let buffer = resultMap.get(expectData[i][index]);
|
|
92
303
|
if (buffer) {
|
|
93
304
|
let dbData = d;
|
|
@@ -105,13 +316,11 @@ describe('ws.query(stable)', () => {
|
|
|
105
316
|
throw new Error("retrieve empty result");
|
|
106
317
|
}
|
|
107
318
|
});
|
|
108
|
-
test(
|
|
319
|
+
test("query stable with CN character", async () => {
|
|
109
320
|
let ws = await wsSql_1.WsSql.open(conf);
|
|
110
321
|
await ws.exec(useDB);
|
|
111
322
|
let insertCN = (0, utils_1.insertStable)(tableCNValues, stableCNTags, stableCN);
|
|
112
|
-
// console.log(insertCN)
|
|
113
323
|
let insertRes = await ws.exec(insertCN);
|
|
114
|
-
// console.log(insertRes)
|
|
115
324
|
expect(insertRes.getAffectRows()).toBe(5);
|
|
116
325
|
let queryRes = await ws.exec(selectStableCN);
|
|
117
326
|
let expectMeta = utils_1.tableMeta.concat(utils_1.tagMeta);
|
|
@@ -127,7 +336,8 @@ describe('ws.query(stable)', () => {
|
|
|
127
336
|
});
|
|
128
337
|
for (let i = 0; i < actualData.length; i++) {
|
|
129
338
|
actualData[i].forEach((d, index) => {
|
|
130
|
-
if (expectMeta[index].name ==
|
|
339
|
+
if (expectMeta[index].name == "geo" ||
|
|
340
|
+
expectMeta[index].name == "vbinary") {
|
|
131
341
|
let buffer = resultMap.get(expectData[i][index]);
|
|
132
342
|
if (buffer) {
|
|
133
343
|
let dbData = d;
|
|
@@ -146,12 +356,11 @@ describe('ws.query(stable)', () => {
|
|
|
146
356
|
}
|
|
147
357
|
});
|
|
148
358
|
});
|
|
149
|
-
describe(
|
|
150
|
-
test(
|
|
359
|
+
describe("ws.query(table)", () => {
|
|
360
|
+
test("Insert query normal table without CN character", async () => {
|
|
151
361
|
let ws = await wsSql_1.WsSql.open(conf);
|
|
152
362
|
await ws.exec(useDB);
|
|
153
363
|
let insert = (0, utils_1.insertNTable)(tableValues, table);
|
|
154
|
-
// console.log(insert)
|
|
155
364
|
let insertRes = await ws.exec(insert);
|
|
156
365
|
expect(insertRes.getAffectRows()).toBe(5);
|
|
157
366
|
let queryRes = await ws.exec(selectTable);
|
|
@@ -162,14 +371,14 @@ describe('ws.query(table)', () => {
|
|
|
162
371
|
await ws.close();
|
|
163
372
|
if (actualData && actualMeta) {
|
|
164
373
|
actualMeta.forEach((meta, index) => {
|
|
165
|
-
// console.log(meta,expectMeta[index]);
|
|
166
374
|
expect(meta.name).toBe(expectMeta[index].name);
|
|
167
375
|
expect(meta.type).toBe(expectMeta[index].type);
|
|
168
376
|
expect(meta.length).toBe(expectMeta[index].length);
|
|
169
377
|
});
|
|
170
378
|
for (let i = 0; i < actualData.length; i++) {
|
|
171
379
|
actualData[i].forEach((d, index) => {
|
|
172
|
-
if (expectMeta[index].name ==
|
|
380
|
+
if (expectMeta[index].name == "geo" ||
|
|
381
|
+
expectMeta[index].name == "vbinary") {
|
|
173
382
|
expect(d).toBeTruthy();
|
|
174
383
|
}
|
|
175
384
|
else {
|
|
@@ -182,13 +391,11 @@ describe('ws.query(table)', () => {
|
|
|
182
391
|
throw new Error("retrieve empty result");
|
|
183
392
|
}
|
|
184
393
|
});
|
|
185
|
-
test(
|
|
394
|
+
test("Insert query normal table with CN character", async () => {
|
|
186
395
|
let ws = await wsSql_1.WsSql.open(conf);
|
|
187
396
|
await ws.exec(useDB);
|
|
188
397
|
let insertCN = (0, utils_1.insertNTable)(tableCNValues, tableCN);
|
|
189
|
-
// console.log(insertCN)
|
|
190
398
|
let insertRes = await ws.exec(insertCN);
|
|
191
|
-
// console.log(insertRes)
|
|
192
399
|
expect(insertRes.getAffectRows()).toBe(5);
|
|
193
400
|
let queryRes = await ws.exec(selectTableCN);
|
|
194
401
|
let expectMeta = utils_1.tableMeta;
|
|
@@ -198,14 +405,14 @@ describe('ws.query(table)', () => {
|
|
|
198
405
|
await ws.close();
|
|
199
406
|
if (actualData && actualMeta) {
|
|
200
407
|
actualMeta.forEach((meta, index) => {
|
|
201
|
-
// console.log(meta, expectMeta[index]);
|
|
202
408
|
expect(meta.name).toBe(expectMeta[index].name);
|
|
203
409
|
expect(meta.type).toBe(expectMeta[index].type);
|
|
204
410
|
expect(meta.length).toBe(expectMeta[index].length);
|
|
205
411
|
});
|
|
206
412
|
for (let i = 0; i < actualData.length; i++) {
|
|
207
413
|
actualData[i].forEach((d, index) => {
|
|
208
|
-
if (expectMeta[index].name ==
|
|
414
|
+
if (expectMeta[index].name == "geo" ||
|
|
415
|
+
expectMeta[index].name == "vbinary") {
|
|
209
416
|
expect(d).toBeTruthy();
|
|
210
417
|
}
|
|
211
418
|
else {
|
|
@@ -219,12 +426,11 @@ describe('ws.query(table)', () => {
|
|
|
219
426
|
}
|
|
220
427
|
});
|
|
221
428
|
});
|
|
222
|
-
describe(
|
|
223
|
-
test(
|
|
429
|
+
describe("ws.query(jsonTable)", () => {
|
|
430
|
+
test("Insert and query json data from table without CN", async () => {
|
|
224
431
|
let ws = await wsSql_1.WsSql.open(conf);
|
|
225
432
|
await ws.exec(useDB);
|
|
226
433
|
let insert = (0, utils_1.insertStable)(tableValues, jsonTags, jsonTable);
|
|
227
|
-
// console.log(insert)
|
|
228
434
|
let insertRes = await ws.exec(insert);
|
|
229
435
|
expect(insertRes.getAffectRows()).toBe(5);
|
|
230
436
|
let queryRes = await ws.exec(selectJsonTable);
|
|
@@ -242,7 +448,8 @@ describe('ws.query(jsonTable)', () => {
|
|
|
242
448
|
});
|
|
243
449
|
for (let i = 0; i < actualData.length; i++) {
|
|
244
450
|
actualData[i].forEach((d, index) => {
|
|
245
|
-
if (expectMeta[index].name ==
|
|
451
|
+
if (expectMeta[index].name == "geo" ||
|
|
452
|
+
expectMeta[index].name == "vbinary") {
|
|
246
453
|
expect(d).toBeTruthy();
|
|
247
454
|
}
|
|
248
455
|
else {
|
|
@@ -255,11 +462,10 @@ describe('ws.query(jsonTable)', () => {
|
|
|
255
462
|
throw new Error("retrieve empty result");
|
|
256
463
|
}
|
|
257
464
|
});
|
|
258
|
-
test(
|
|
465
|
+
test("Insert and query json data from table with CN", async () => {
|
|
259
466
|
let ws = await wsSql_1.WsSql.open(conf);
|
|
260
467
|
await ws.exec(useDB);
|
|
261
468
|
let insert = (0, utils_1.insertStable)(tableCNValues, jsonTagsCN, jsonTableCN);
|
|
262
|
-
// console.log(insert)
|
|
263
469
|
let insertRes = await ws.exec(insert);
|
|
264
470
|
expect(insertRes.getAffectRows()).toBe(5);
|
|
265
471
|
let queryRes = await ws.exec(selectJsonTableCN);
|
|
@@ -277,7 +483,8 @@ describe('ws.query(jsonTable)', () => {
|
|
|
277
483
|
});
|
|
278
484
|
for (let i = 0; i < actualData.length; i++) {
|
|
279
485
|
actualData[i].forEach((d, index) => {
|
|
280
|
-
if (expectMeta[index].name ==
|
|
486
|
+
if (expectMeta[index].name == "geo" ||
|
|
487
|
+
expectMeta[index].name == "vbinary") {
|
|
281
488
|
expect(d).toBeTruthy();
|
|
282
489
|
}
|
|
283
490
|
else {
|
|
@@ -297,4 +504,3 @@ afterAll(async () => {
|
|
|
297
504
|
await ws.close();
|
|
298
505
|
wsConnectorPool_1.WebSocketConnectionPool.instance().destroyed();
|
|
299
506
|
});
|
|
300
|
-
//--detectOpenHandles --maxConcurrency=1 --forceExit
|