@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
|
@@ -4,44 +4,44 @@ const wsConnectorPool_1 = require("../../src/client/wsConnectorPool");
|
|
|
4
4
|
const config_1 = require("../../src/common/config");
|
|
5
5
|
const wsProto_1 = require("../../src/sql/wsProto");
|
|
6
6
|
const wsSql_1 = require("../../src/sql/wsSql");
|
|
7
|
-
let dns =
|
|
7
|
+
let dns = "ws://localhost:6041";
|
|
8
8
|
beforeAll(async () => {
|
|
9
9
|
let conf = new config_1.WSConfig(dns);
|
|
10
|
-
conf.setUser(
|
|
11
|
-
conf.setPwd(
|
|
10
|
+
conf.setUser("root");
|
|
11
|
+
conf.setPwd("taosdata");
|
|
12
12
|
let wsSql = await wsSql_1.WsSql.open(conf);
|
|
13
|
-
await wsSql.exec(
|
|
14
|
-
await wsSql.exec(
|
|
15
|
-
await wsSql.exec(
|
|
13
|
+
await wsSql.exec("drop database if exists power_schemaless;");
|
|
14
|
+
await wsSql.exec("create database if not exists power_schemaless KEEP 3650 DURATION 10 BUFFER 16 WAL_LEVEL 1;");
|
|
15
|
+
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);");
|
|
16
16
|
await wsSql.close();
|
|
17
17
|
});
|
|
18
|
-
describe(
|
|
18
|
+
describe("TDWebSocket.WsSchemaless()", () => {
|
|
19
19
|
jest.setTimeout(20 * 1000);
|
|
20
|
-
let influxdbData =
|
|
20
|
+
let influxdbData = 'st,t1=3i64,t2=4f64,t3="t3" c1=3i64,c3=L"passit",c2=false,c4=4f64 1626006833639000000';
|
|
21
21
|
let telnetData = "stb0_0 1626006833 4 host=host0 interface=eth0";
|
|
22
|
-
let jsonData =
|
|
23
|
-
test(
|
|
22
|
+
let jsonData = '{"metric": "meter_current","timestamp": 1626846400,"value": 10.3, "tags": {"groupid": 2, "location": "California.SanFrancisco", "id": "d1001"}}';
|
|
23
|
+
test("normal connect", async () => {
|
|
24
24
|
let conf = new config_1.WSConfig(dns);
|
|
25
|
-
conf.setUser(
|
|
26
|
-
conf.setPwd(
|
|
27
|
-
conf.setDb(
|
|
25
|
+
conf.setUser("root");
|
|
26
|
+
conf.setPwd("taosdata");
|
|
27
|
+
conf.setDb("power_schemaless");
|
|
28
28
|
let wsSchemaless = await wsSql_1.WsSql.open(conf);
|
|
29
29
|
expect(wsSchemaless.state()).toBeGreaterThan(0);
|
|
30
30
|
await wsSchemaless.close();
|
|
31
31
|
});
|
|
32
|
-
test(
|
|
32
|
+
test("connect db with error", async () => {
|
|
33
33
|
expect.assertions(1);
|
|
34
34
|
let wsSchemaless = null;
|
|
35
35
|
try {
|
|
36
36
|
let conf = new config_1.WSConfig(dns);
|
|
37
|
-
conf.setUser(
|
|
38
|
-
conf.setPwd(
|
|
39
|
-
conf.setDb(
|
|
37
|
+
conf.setUser("root");
|
|
38
|
+
conf.setPwd("taosdata");
|
|
39
|
+
conf.setDb("jest");
|
|
40
40
|
wsSchemaless = await wsSql_1.WsSql.open(conf);
|
|
41
41
|
}
|
|
42
42
|
catch (e) {
|
|
43
43
|
console.log(e);
|
|
44
|
-
expect(e.message).toMatch(
|
|
44
|
+
expect(e.message).toMatch("Database not exist");
|
|
45
45
|
}
|
|
46
46
|
finally {
|
|
47
47
|
if (wsSchemaless) {
|
|
@@ -49,11 +49,11 @@ describe('TDWebSocket.WsSchemaless()', () => {
|
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
});
|
|
52
|
-
test(
|
|
52
|
+
test("normal insert", async () => {
|
|
53
53
|
let conf = new config_1.WSConfig(dns);
|
|
54
|
-
conf.setUser(
|
|
55
|
-
conf.setPwd(
|
|
56
|
-
conf.setDb(
|
|
54
|
+
conf.setUser("root");
|
|
55
|
+
conf.setPwd("taosdata");
|
|
56
|
+
conf.setDb("power_schemaless");
|
|
57
57
|
let wsSchemaless = await wsSql_1.WsSql.open(conf);
|
|
58
58
|
expect(wsSchemaless.state()).toBeGreaterThan(0);
|
|
59
59
|
await wsSchemaless.schemalessInsert([influxdbData], wsProto_1.SchemalessProto.InfluxDBLineProtocol, wsProto_1.Precision.NANO_SECONDS, 0);
|
|
@@ -61,11 +61,11 @@ describe('TDWebSocket.WsSchemaless()', () => {
|
|
|
61
61
|
await wsSchemaless.schemalessInsert([jsonData], wsProto_1.SchemalessProto.OpenTSDBJsonFormatProtocol, wsProto_1.Precision.SECONDS, 0);
|
|
62
62
|
await wsSchemaless.close();
|
|
63
63
|
});
|
|
64
|
-
test(
|
|
64
|
+
test("normal wsSql insert", async () => {
|
|
65
65
|
let conf = new config_1.WSConfig(dns);
|
|
66
|
-
conf.setUser(
|
|
67
|
-
conf.setPwd(
|
|
68
|
-
conf.setDb(
|
|
66
|
+
conf.setUser("root");
|
|
67
|
+
conf.setPwd("taosdata");
|
|
68
|
+
conf.setDb("power_schemaless");
|
|
69
69
|
let wsSchemaless = await wsSql_1.WsSql.open(conf);
|
|
70
70
|
expect(wsSchemaless.state()).toBeGreaterThan(0);
|
|
71
71
|
await wsSchemaless.schemalessInsert([influxdbData], wsProto_1.SchemalessProto.InfluxDBLineProtocol, wsProto_1.Precision.NOT_CONFIGURED, 0);
|
|
@@ -74,28 +74,28 @@ describe('TDWebSocket.WsSchemaless()', () => {
|
|
|
74
74
|
await wsSchemaless.schemalessInsert([jsonData], wsProto_1.SchemalessProto.OpenTSDBJsonFormatProtocol, wsProto_1.Precision.SECONDS, 0);
|
|
75
75
|
await wsSchemaless.close();
|
|
76
76
|
});
|
|
77
|
-
test(
|
|
77
|
+
test("SchemalessProto error", async () => {
|
|
78
78
|
let conf = new config_1.WSConfig(dns);
|
|
79
|
-
conf.setUser(
|
|
80
|
-
conf.setPwd(
|
|
81
|
-
conf.setDb(
|
|
79
|
+
conf.setUser("root");
|
|
80
|
+
conf.setPwd("taosdata");
|
|
81
|
+
conf.setDb("power_schemaless");
|
|
82
82
|
let wsSchemaless = await wsSql_1.WsSql.open(conf);
|
|
83
83
|
expect(wsSchemaless.state()).toBeGreaterThan(0);
|
|
84
84
|
try {
|
|
85
85
|
await wsSchemaless.schemalessInsert([influxdbData], wsProto_1.SchemalessProto.OpenTSDBTelnetLineProtocol, wsProto_1.Precision.NANO_SECONDS, 0);
|
|
86
86
|
}
|
|
87
87
|
catch (e) {
|
|
88
|
-
expect(e.message).toMatch(
|
|
88
|
+
expect(e.message).toMatch("parse timestamp failed");
|
|
89
89
|
}
|
|
90
90
|
await wsSchemaless.close();
|
|
91
91
|
});
|
|
92
92
|
});
|
|
93
93
|
afterAll(async () => {
|
|
94
94
|
let conf = new config_1.WSConfig(dns);
|
|
95
|
-
conf.setUser(
|
|
96
|
-
conf.setPwd(
|
|
95
|
+
conf.setUser("root");
|
|
96
|
+
conf.setPwd("taosdata");
|
|
97
97
|
let wsSql = await wsSql_1.WsSql.open(conf);
|
|
98
|
-
await wsSql.exec(
|
|
98
|
+
await wsSql.exec("drop database if exists power_schemaless;");
|
|
99
99
|
await wsSql.close();
|
|
100
100
|
wsConnectorPool_1.WebSocketConnectionPool.instance().destroyed();
|
|
101
101
|
});
|
|
@@ -5,49 +5,51 @@ const config_1 = require("../../src/common/config");
|
|
|
5
5
|
const wsSql_1 = require("../../src/sql/wsSql");
|
|
6
6
|
const utils_1 = require("../utils");
|
|
7
7
|
const log_1 = require("../../src/common/log");
|
|
8
|
-
let dns =
|
|
9
|
-
let password1 =
|
|
10
|
-
let password2 =
|
|
8
|
+
let dns = "ws://localhost:6041";
|
|
9
|
+
let password1 = "Ab1!@#$%,.:?<>;~";
|
|
10
|
+
let password2 = "Bc%^&*()-_+=[]{}";
|
|
11
11
|
(0, log_1.setLevel)("debug");
|
|
12
12
|
beforeAll(async () => {
|
|
13
13
|
let conf = new config_1.WSConfig(dns);
|
|
14
|
-
conf.setUser(
|
|
15
|
-
conf.setPwd(
|
|
14
|
+
conf.setUser("root");
|
|
15
|
+
conf.setPwd("taosdata");
|
|
16
16
|
let wsSql = await wsSql_1.WsSql.open(conf);
|
|
17
|
+
await wsSql.exec("drop database if exists sql_test");
|
|
18
|
+
await wsSql.exec("drop database if exists sql_create");
|
|
17
19
|
await wsSql.exec(`CREATE USER user1 PASS '${password1}'`);
|
|
18
20
|
await wsSql.exec(`CREATE USER user2 PASS '${password2}'`);
|
|
19
|
-
await wsSql.exec(
|
|
21
|
+
await wsSql.exec("create database if not exists sql_test KEEP 3650 DURATION 10 BUFFER 16 WAL_LEVEL 1;");
|
|
20
22
|
await (0, utils_1.Sleep)(100);
|
|
21
|
-
await wsSql.exec(
|
|
22
|
-
await wsSql.exec(
|
|
23
|
+
await wsSql.exec("use sql_test");
|
|
24
|
+
await wsSql.exec("CREATE STABLE if not exists meters (ts timestamp, current float, voltage int, phase float) TAGS (location binary(64), groupId int);");
|
|
23
25
|
await wsSql.close();
|
|
24
26
|
});
|
|
25
|
-
describe(
|
|
27
|
+
describe("TDWebSocket.WsSql()", () => {
|
|
26
28
|
jest.setTimeout(20 * 1000);
|
|
27
|
-
test(
|
|
29
|
+
test("normal connect", async () => {
|
|
28
30
|
let wsSql = null;
|
|
29
|
-
let conf = new config_1.WSConfig(
|
|
31
|
+
let conf = new config_1.WSConfig("");
|
|
30
32
|
conf.setUrl(dns);
|
|
31
|
-
conf.setUser(
|
|
32
|
-
conf.setPwd(
|
|
33
|
-
conf.setDb(
|
|
34
|
-
conf.setTimezone(
|
|
33
|
+
conf.setUser("root");
|
|
34
|
+
conf.setPwd("taosdata");
|
|
35
|
+
conf.setDb("sql_test");
|
|
36
|
+
conf.setTimezone("America/New_York");
|
|
35
37
|
conf.setTimeOut(6000);
|
|
36
38
|
wsSql = await wsSql_1.WsSql.open(conf);
|
|
37
39
|
expect(wsSql.state()).toBeGreaterThan(0);
|
|
38
|
-
let wsRows = await wsSql.query(
|
|
40
|
+
let wsRows = await wsSql.query("select timezone()");
|
|
39
41
|
while (await wsRows.next()) {
|
|
40
42
|
let result = wsRows.getData();
|
|
41
43
|
console.log(result);
|
|
42
44
|
expect(result).toBeTruthy();
|
|
43
|
-
expect(JSON.stringify(result)).toContain(
|
|
45
|
+
expect(JSON.stringify(result)).toContain("America/New_York");
|
|
44
46
|
}
|
|
45
47
|
await wsSql.close();
|
|
46
48
|
});
|
|
47
|
-
test(
|
|
49
|
+
test("special characters connect1", async () => {
|
|
48
50
|
let wsSql = null;
|
|
49
51
|
let conf = new config_1.WSConfig(dns);
|
|
50
|
-
conf.setUser(
|
|
52
|
+
conf.setUser("user1");
|
|
51
53
|
conf.setPwd(password1);
|
|
52
54
|
wsSql = await wsSql_1.WsSql.open(conf);
|
|
53
55
|
expect(wsSql.state()).toBeGreaterThan(0);
|
|
@@ -56,10 +58,10 @@ describe('TDWebSocket.WsSql()', () => {
|
|
|
56
58
|
expect(version).not.toBeUndefined();
|
|
57
59
|
await wsSql.close();
|
|
58
60
|
});
|
|
59
|
-
test(
|
|
61
|
+
test("special characters connect2", async () => {
|
|
60
62
|
let wsSql = null;
|
|
61
63
|
let conf = new config_1.WSConfig(dns);
|
|
62
|
-
conf.setUser(
|
|
64
|
+
conf.setUser("user2");
|
|
63
65
|
conf.setPwd(password2);
|
|
64
66
|
wsSql = await wsSql_1.WsSql.open(conf);
|
|
65
67
|
expect(wsSql.state()).toBeGreaterThan(0);
|
|
@@ -68,19 +70,19 @@ describe('TDWebSocket.WsSql()', () => {
|
|
|
68
70
|
expect(version).not.toBeUndefined();
|
|
69
71
|
await wsSql.close();
|
|
70
72
|
});
|
|
71
|
-
test(
|
|
73
|
+
test("connect db with error", async () => {
|
|
72
74
|
expect.assertions(1);
|
|
73
75
|
let wsSql = null;
|
|
74
76
|
try {
|
|
75
77
|
let conf = new config_1.WSConfig(dns);
|
|
76
|
-
conf.setUser(
|
|
77
|
-
conf.setPwd(
|
|
78
|
-
conf.setDb(
|
|
78
|
+
conf.setUser("root");
|
|
79
|
+
conf.setPwd("taosdata");
|
|
80
|
+
conf.setDb("jest");
|
|
79
81
|
wsSql = await wsSql_1.WsSql.open(conf);
|
|
80
82
|
}
|
|
81
83
|
catch (e) {
|
|
82
84
|
let err = e;
|
|
83
|
-
expect(err.message).toMatch(
|
|
85
|
+
expect(err.message).toMatch("Database not exist");
|
|
84
86
|
}
|
|
85
87
|
finally {
|
|
86
88
|
if (wsSql) {
|
|
@@ -88,90 +90,90 @@ describe('TDWebSocket.WsSql()', () => {
|
|
|
88
90
|
}
|
|
89
91
|
}
|
|
90
92
|
});
|
|
91
|
-
test(
|
|
92
|
-
let url =
|
|
93
|
+
test("connect url", async () => {
|
|
94
|
+
let url = "ws://root:taosdata@localhost:6041/information_schema?timezone=Asia/Shanghai";
|
|
93
95
|
let conf = new config_1.WSConfig(url);
|
|
94
96
|
let wsSql = await wsSql_1.WsSql.open(conf);
|
|
95
97
|
let version = await wsSql.version();
|
|
96
98
|
console.log(version);
|
|
97
99
|
expect(version).toBeTruthy();
|
|
98
|
-
let wsRows = await wsSql.query(
|
|
100
|
+
let wsRows = await wsSql.query("select timezone()");
|
|
99
101
|
while (await wsRows.next()) {
|
|
100
102
|
let result = wsRows.getData();
|
|
101
103
|
console.log(result);
|
|
102
104
|
expect(result).toBeTruthy();
|
|
103
|
-
expect(JSON.stringify(result)).toContain(
|
|
105
|
+
expect(JSON.stringify(result)).toContain("Asia/Shanghai");
|
|
104
106
|
}
|
|
105
107
|
await wsSql.close();
|
|
106
108
|
});
|
|
107
|
-
test(
|
|
109
|
+
test("get taosc version", async () => {
|
|
108
110
|
let conf = new config_1.WSConfig(dns);
|
|
109
|
-
conf.setUser(
|
|
110
|
-
conf.setPwd(
|
|
111
|
+
conf.setUser("root");
|
|
112
|
+
conf.setPwd("taosdata");
|
|
111
113
|
let wsSql = await wsSql_1.WsSql.open(conf);
|
|
112
114
|
let version = await wsSql.version();
|
|
113
115
|
await wsSql.close();
|
|
114
116
|
console.log(version);
|
|
115
117
|
expect(version).toBeTruthy();
|
|
116
118
|
});
|
|
117
|
-
test(
|
|
119
|
+
test("show databases", async () => {
|
|
118
120
|
let conf = new config_1.WSConfig(dns);
|
|
119
|
-
conf.setUser(
|
|
120
|
-
conf.setPwd(
|
|
121
|
+
conf.setUser("root");
|
|
122
|
+
conf.setPwd("taosdata");
|
|
121
123
|
let wsSql = await wsSql_1.WsSql.open(conf);
|
|
122
|
-
let taosResult = await wsSql.exec(
|
|
124
|
+
let taosResult = await wsSql.exec("show databases");
|
|
123
125
|
await wsSql.close();
|
|
124
126
|
console.log(taosResult);
|
|
125
127
|
expect(taosResult).toBeTruthy();
|
|
126
128
|
});
|
|
127
|
-
test(
|
|
129
|
+
test("create databases", async () => {
|
|
128
130
|
let conf = new config_1.WSConfig(dns);
|
|
129
|
-
conf.setUser(
|
|
130
|
-
conf.setPwd(
|
|
131
|
+
conf.setUser("root");
|
|
132
|
+
conf.setPwd("taosdata");
|
|
131
133
|
let wsSql = await wsSql_1.WsSql.open(conf);
|
|
132
|
-
let taosResult = await wsSql.exec(
|
|
134
|
+
let taosResult = await wsSql.exec("create database if not exists sql_create KEEP 3650 DURATION 10 BUFFER 16 WAL_LEVEL 1;");
|
|
133
135
|
await wsSql.close();
|
|
134
136
|
console.log(taosResult);
|
|
135
137
|
expect(taosResult).toBeTruthy();
|
|
136
138
|
});
|
|
137
|
-
test(
|
|
139
|
+
test("create stable", async () => {
|
|
138
140
|
let conf = new config_1.WSConfig(dns);
|
|
139
|
-
conf.setUser(
|
|
140
|
-
conf.setPwd(
|
|
141
|
+
conf.setUser("root");
|
|
142
|
+
conf.setPwd("taosdata");
|
|
141
143
|
let wsSql = await wsSql_1.WsSql.open(conf);
|
|
142
|
-
let taosResult = await wsSql.exec(
|
|
144
|
+
let taosResult = await wsSql.exec("use sql_test");
|
|
143
145
|
console.log(taosResult);
|
|
144
146
|
expect(taosResult).toBeTruthy();
|
|
145
|
-
taosResult = await wsSql.exec(
|
|
147
|
+
taosResult = await wsSql.exec("CREATE STABLE if not exists meters (ts timestamp, current float, voltage int, phase float) TAGS (location binary(64), groupId int);");
|
|
146
148
|
await wsSql.close();
|
|
147
149
|
console.log(taosResult);
|
|
148
150
|
expect(taosResult).toBeTruthy();
|
|
149
151
|
});
|
|
150
|
-
test(
|
|
152
|
+
test("insert recoder", async () => {
|
|
151
153
|
let conf = new config_1.WSConfig(dns);
|
|
152
|
-
conf.setUser(
|
|
153
|
-
conf.setPwd(
|
|
154
|
+
conf.setUser("root");
|
|
155
|
+
conf.setPwd("taosdata");
|
|
154
156
|
let wsSql = await wsSql_1.WsSql.open(conf);
|
|
155
|
-
let taosResult = await wsSql.exec(
|
|
157
|
+
let taosResult = await wsSql.exec("use sql_test");
|
|
156
158
|
console.log(taosResult);
|
|
157
159
|
expect(taosResult).toBeTruthy();
|
|
158
|
-
taosResult = await wsSql.exec(
|
|
160
|
+
taosResult = await wsSql.exec("describe meters");
|
|
159
161
|
console.log(taosResult);
|
|
160
162
|
taosResult = await wsSql.exec('INSERT INTO d1001 USING meters (location, groupid) TAGS ("California", 3) VALUES (NOW, 10.2, 219, 0.32)');
|
|
161
163
|
console.log(taosResult);
|
|
162
164
|
expect(taosResult.getAffectRows()).toBeGreaterThanOrEqual(1);
|
|
163
165
|
await wsSql.close();
|
|
164
166
|
});
|
|
165
|
-
test(
|
|
167
|
+
test("query sql", async () => {
|
|
166
168
|
let conf = new config_1.WSConfig(dns);
|
|
167
|
-
conf.setUser(
|
|
168
|
-
conf.setPwd(
|
|
169
|
+
conf.setUser("root");
|
|
170
|
+
conf.setPwd("taosdata");
|
|
169
171
|
let wsSql = await wsSql_1.WsSql.open(conf);
|
|
170
|
-
let taosResult = await wsSql.exec(
|
|
172
|
+
let taosResult = await wsSql.exec("use sql_test");
|
|
171
173
|
console.log(taosResult);
|
|
172
174
|
expect(taosResult).toBeTruthy();
|
|
173
175
|
for (let i = 0; i < 10; i++) {
|
|
174
|
-
let wsRows = await wsSql.query(
|
|
176
|
+
let wsRows = await wsSql.query("select * from meters limit 3");
|
|
175
177
|
expect(wsRows).toBeTruthy();
|
|
176
178
|
let meta = wsRows.getMeta();
|
|
177
179
|
expect(meta).toBeTruthy();
|
|
@@ -184,27 +186,67 @@ describe('TDWebSocket.WsSql()', () => {
|
|
|
184
186
|
}
|
|
185
187
|
await wsSql.close();
|
|
186
188
|
});
|
|
187
|
-
test(
|
|
189
|
+
test("query sql no getdata", async () => {
|
|
188
190
|
let conf = new config_1.WSConfig(dns);
|
|
189
|
-
conf.setUser(
|
|
190
|
-
conf.setPwd(
|
|
191
|
+
conf.setUser("root");
|
|
192
|
+
conf.setPwd("taosdata");
|
|
191
193
|
let wsSql = await wsSql_1.WsSql.open(conf);
|
|
192
|
-
let taosResult = await wsSql.exec(
|
|
194
|
+
let taosResult = await wsSql.exec("use sql_test");
|
|
193
195
|
console.log(taosResult);
|
|
194
196
|
expect(taosResult).toBeTruthy();
|
|
195
|
-
let wsRows = await wsSql.query(
|
|
197
|
+
let wsRows = await wsSql.query("select * from meters");
|
|
196
198
|
await wsRows.close();
|
|
197
199
|
await wsSql.close();
|
|
198
200
|
});
|
|
201
|
+
test("timestamp order check", async () => {
|
|
202
|
+
const conf = new config_1.WSConfig(dns);
|
|
203
|
+
conf.setUser("root");
|
|
204
|
+
conf.setPwd("taosdata");
|
|
205
|
+
const wsSql = await wsSql_1.WsSql.open(conf);
|
|
206
|
+
await wsSql.exec("use sql_test");
|
|
207
|
+
await wsSql.exec("drop table if exists t_order");
|
|
208
|
+
await wsSql.exec("create table t_order (ts timestamp, c1 int)");
|
|
209
|
+
await wsSql.exec("insert into t_order values (1726803356466, 1)");
|
|
210
|
+
await wsSql.exec("insert into t_order values (1726803357466, 2)");
|
|
211
|
+
await wsSql.exec("insert into t_order values (1726803358466, 3)");
|
|
212
|
+
const expectRowsAsc = [
|
|
213
|
+
[1726803356466n, 1],
|
|
214
|
+
[1726803357466n, 2],
|
|
215
|
+
[1726803358466n, 3],
|
|
216
|
+
];
|
|
217
|
+
const expectRowsDesc = expectRowsAsc.slice().reverse();
|
|
218
|
+
const actualRowsAsc = [];
|
|
219
|
+
const actualRowsDesc = [];
|
|
220
|
+
const rowsAsc = await wsSql.query("select * from t_order order by ts asc");
|
|
221
|
+
while (await rowsAsc.next()) {
|
|
222
|
+
const data = rowsAsc.getData();
|
|
223
|
+
if (!data)
|
|
224
|
+
break;
|
|
225
|
+
actualRowsAsc.push(data);
|
|
226
|
+
}
|
|
227
|
+
await rowsAsc.close();
|
|
228
|
+
expect(actualRowsAsc).toEqual(expectRowsAsc);
|
|
229
|
+
const rowsDesc = await wsSql.query("select * from t_order order by ts desc");
|
|
230
|
+
while (await rowsDesc.next()) {
|
|
231
|
+
const data = rowsDesc.getData();
|
|
232
|
+
if (!data)
|
|
233
|
+
break;
|
|
234
|
+
actualRowsDesc.push(data);
|
|
235
|
+
}
|
|
236
|
+
await rowsDesc.close();
|
|
237
|
+
expect(actualRowsDesc).toEqual(expectRowsDesc);
|
|
238
|
+
await wsSql.close();
|
|
239
|
+
});
|
|
199
240
|
});
|
|
200
241
|
afterAll(async () => {
|
|
201
242
|
let conf = new config_1.WSConfig(dns);
|
|
202
|
-
conf.setUser(
|
|
203
|
-
conf.setPwd(
|
|
243
|
+
conf.setUser("root");
|
|
244
|
+
conf.setPwd("taosdata");
|
|
204
245
|
let wsSql = await wsSql_1.WsSql.open(conf);
|
|
205
|
-
await wsSql.exec(
|
|
206
|
-
await wsSql.exec(
|
|
207
|
-
await wsSql.exec(
|
|
246
|
+
await wsSql.exec("drop database sql_test");
|
|
247
|
+
await wsSql.exec("drop database sql_create");
|
|
248
|
+
await wsSql.exec("DROP USER user1;");
|
|
249
|
+
await wsSql.exec("DROP USER user2;");
|
|
208
250
|
await wsSql.close();
|
|
209
251
|
wsConnectorPool_1.WebSocketConnectionPool.instance().destroyed();
|
|
210
252
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stmt1.func.test.d.ts","sourceRoot":"","sources":["../../../test/bulkPulling/stmt1.func.test.ts"],"names":[],"mappings":""}
|