@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.
Files changed (121) hide show
  1. package/lib/example/all_type_query.js +26 -22
  2. package/lib/example/all_type_stmt.js +22 -20
  3. package/lib/example/basicBatchTmq.js +14 -14
  4. package/lib/example/basicSchemaless.js +11 -11
  5. package/lib/example/basicSql.js +10 -10
  6. package/lib/example/basicStmt.js +3 -3
  7. package/lib/example/basicTmq.js +8 -9
  8. package/lib/index.d.ts +1 -1
  9. package/lib/index.d.ts.map +1 -1
  10. package/lib/index.js +1 -1
  11. package/lib/src/client/wsClient.d.ts +3 -2
  12. package/lib/src/client/wsClient.d.ts.map +1 -1
  13. package/lib/src/client/wsClient.js +66 -40
  14. package/lib/src/client/wsConnector.d.ts.map +1 -1
  15. package/lib/src/client/wsConnector.js +40 -14
  16. package/lib/src/client/wsConnectorPool.d.ts.map +1 -1
  17. package/lib/src/client/wsConnectorPool.js +29 -14
  18. package/lib/src/client/wsEventCallback.d.ts.map +1 -1
  19. package/lib/src/client/wsEventCallback.js +6 -4
  20. package/lib/src/client/wsResponse.d.ts.map +1 -1
  21. package/lib/src/client/wsResponse.js +6 -2
  22. package/lib/src/common/config.d.ts +5 -3
  23. package/lib/src/common/config.d.ts.map +1 -1
  24. package/lib/src/common/config.js +15 -5
  25. package/lib/src/common/constant.d.ts +11 -1
  26. package/lib/src/common/constant.d.ts.map +1 -1
  27. package/lib/src/common/constant.js +48 -40
  28. package/lib/src/common/log.d.ts +1 -1
  29. package/lib/src/common/log.d.ts.map +1 -1
  30. package/lib/src/common/log.js +9 -7
  31. package/lib/src/common/reqid.d.ts.map +1 -1
  32. package/lib/src/common/reqid.js +7 -7
  33. package/lib/src/common/taosResult.d.ts.map +1 -1
  34. package/lib/src/common/taosResult.js +46 -27
  35. package/lib/src/common/ut8Helper.d.ts.map +1 -1
  36. package/lib/src/common/ut8Helper.js +8 -8
  37. package/lib/src/common/utils.d.ts.map +1 -1
  38. package/lib/src/common/utils.js +17 -16
  39. package/lib/src/common/wsError.d.ts.map +1 -1
  40. package/lib/src/common/wsError.js +3 -3
  41. package/lib/src/common/wsOptions.d.ts +1 -1
  42. package/lib/src/index.d.ts +3 -3
  43. package/lib/src/index.d.ts.map +1 -1
  44. package/lib/src/sql/wsProto.d.ts.map +1 -1
  45. package/lib/src/sql/wsRows.d.ts +3 -3
  46. package/lib/src/sql/wsRows.d.ts.map +1 -1
  47. package/lib/src/sql/wsRows.js +4 -2
  48. package/lib/src/sql/wsSql.d.ts +5 -5
  49. package/lib/src/sql/wsSql.d.ts.map +1 -1
  50. package/lib/src/sql/wsSql.js +23 -15
  51. package/lib/src/stmt/FieldBindParams.d.ts +9 -0
  52. package/lib/src/stmt/FieldBindParams.d.ts.map +1 -0
  53. package/lib/src/stmt/FieldBindParams.js +13 -0
  54. package/lib/src/stmt/wsColumnInfo.d.ts +12 -0
  55. package/lib/src/stmt/wsColumnInfo.d.ts.map +1 -0
  56. package/lib/src/stmt/wsColumnInfo.js +17 -0
  57. package/lib/src/stmt/wsParams1.d.ts +14 -0
  58. package/lib/src/stmt/wsParams1.d.ts.map +1 -0
  59. package/lib/src/stmt/wsParams1.js +300 -0
  60. package/lib/src/stmt/wsParams2.d.ts +14 -0
  61. package/lib/src/stmt/wsParams2.d.ts.map +1 -0
  62. package/lib/src/stmt/wsParams2.js +203 -0
  63. package/lib/src/stmt/wsParamsBase.d.ts +45 -0
  64. package/lib/src/stmt/wsParamsBase.d.ts.map +1 -0
  65. package/lib/src/stmt/wsParamsBase.js +220 -0
  66. package/lib/src/stmt/wsProto.d.ts +13 -1
  67. package/lib/src/stmt/wsProto.d.ts.map +1 -1
  68. package/lib/src/stmt/wsProto.js +206 -2
  69. package/lib/src/stmt/wsStmt.d.ts +6 -16
  70. package/lib/src/stmt/wsStmt.d.ts.map +1 -1
  71. package/lib/src/stmt/wsStmt.js +0 -201
  72. package/lib/src/stmt/wsStmt1.d.ts +30 -0
  73. package/lib/src/stmt/wsStmt1.d.ts.map +1 -0
  74. package/lib/src/stmt/wsStmt1.js +206 -0
  75. package/lib/src/stmt/wsStmt2.d.ts +37 -0
  76. package/lib/src/stmt/wsStmt2.d.ts.map +1 -0
  77. package/lib/src/stmt/wsStmt2.js +284 -0
  78. package/lib/src/stmt/wsTableInfo.d.ts +17 -0
  79. package/lib/src/stmt/wsTableInfo.d.ts.map +1 -0
  80. package/lib/src/stmt/wsTableInfo.js +54 -0
  81. package/lib/src/tmq/config.d.ts.map +1 -1
  82. package/lib/src/tmq/config.js +2 -2
  83. package/lib/src/tmq/constant.d.ts.map +1 -1
  84. package/lib/src/tmq/constant.js +28 -28
  85. package/lib/src/tmq/tmqResponse.d.ts.map +1 -1
  86. package/lib/src/tmq/tmqResponse.js +31 -17
  87. package/lib/src/tmq/wsTmq.d.ts +2 -2
  88. package/lib/src/tmq/wsTmq.d.ts.map +1 -1
  89. package/lib/src/tmq/wsTmq.js +32 -30
  90. package/lib/test/bulkPulling/cloud.tmq.test.js +11 -11
  91. package/lib/test/bulkPulling/decimal.test.js +50 -26
  92. package/lib/test/bulkPulling/log.test.js +8 -8
  93. package/lib/test/bulkPulling/queryTables.test.js +255 -49
  94. package/lib/test/bulkPulling/schemaless.test.js +34 -34
  95. package/lib/test/bulkPulling/sql.test.js +108 -66
  96. package/lib/test/bulkPulling/stmt1.func.test.d.ts +2 -0
  97. package/lib/test/bulkPulling/stmt1.func.test.d.ts.map +1 -0
  98. package/lib/test/bulkPulling/{stmt.func.test.js → stmt1.func.test.js} +128 -116
  99. package/lib/test/bulkPulling/stmt1.type.test.d.ts +2 -0
  100. package/lib/test/bulkPulling/stmt1.type.test.d.ts.map +1 -0
  101. package/lib/test/bulkPulling/stmt1.type.test.js +399 -0
  102. package/lib/test/bulkPulling/stmt2.func.test.d.ts +2 -0
  103. package/lib/test/bulkPulling/stmt2.func.test.d.ts.map +1 -0
  104. package/lib/test/bulkPulling/stmt2.func.test.js +543 -0
  105. package/lib/test/bulkPulling/stmt2.type.test.d.ts +2 -0
  106. package/lib/test/bulkPulling/stmt2.type.test.d.ts.map +1 -0
  107. package/lib/test/bulkPulling/{stmt.type.test.js → stmt2.type.test.js} +136 -49
  108. package/lib/test/bulkPulling/tmq.test.js +225 -31
  109. package/lib/test/bulkPulling/utils.test.js +2 -2
  110. package/lib/test/bulkPulling/wsConnectPool.test.js +20 -20
  111. package/lib/test/utils.d.ts.map +1 -1
  112. package/lib/test/utils.js +130 -129
  113. package/package.json +1 -1
  114. package/readme.md +1 -0
  115. package/lib/src/stmt/wsParams.d.ts +0 -41
  116. package/lib/src/stmt/wsParams.d.ts.map +0 -1
  117. package/lib/src/stmt/wsParams.js +0 -428
  118. package/lib/test/bulkPulling/stmt.func.test.d.ts +0 -2
  119. package/lib/test/bulkPulling/stmt.func.test.d.ts.map +0 -1
  120. package/lib/test/bulkPulling/stmt.type.test.d.ts +0 -2
  121. 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 = 'ws://localhost:6041';
7
+ let dns = "ws://localhost:6041";
8
8
  beforeAll(async () => {
9
9
  let conf = new config_1.WSConfig(dns);
10
- conf.setUser('root');
11
- conf.setPwd('taosdata');
10
+ conf.setUser("root");
11
+ conf.setPwd("taosdata");
12
12
  let wsSql = await wsSql_1.WsSql.open(conf);
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);');
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('TDWebSocket.WsSchemaless()', () => {
18
+ describe("TDWebSocket.WsSchemaless()", () => {
19
19
  jest.setTimeout(20 * 1000);
20
- let influxdbData = "st,t1=3i64,t2=4f64,t3=\"t3\" c1=3i64,c3=L\"passit\",c2=false,c4=4f64 1626006833639000000";
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 = "{\"metric\": \"meter_current\",\"timestamp\": 1626846400,\"value\": 10.3, \"tags\": {\"groupid\": 2, \"location\": \"California.SanFrancisco\", \"id\": \"d1001\"}}";
23
- test('normal connect', async () => {
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('root');
26
- conf.setPwd('taosdata');
27
- conf.setDb('power_schemaless');
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('connect db with error', async () => {
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('root');
38
- conf.setPwd('taosdata');
39
- conf.setDb('jest');
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('Database not exist');
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('normal insert', async () => {
52
+ test("normal insert", async () => {
53
53
  let conf = new config_1.WSConfig(dns);
54
- conf.setUser('root');
55
- conf.setPwd('taosdata');
56
- conf.setDb('power_schemaless');
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('normal wsSql insert', async () => {
64
+ test("normal wsSql insert", async () => {
65
65
  let conf = new config_1.WSConfig(dns);
66
- conf.setUser('root');
67
- conf.setPwd('taosdata');
68
- conf.setDb('power_schemaless');
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('SchemalessProto error', async () => {
77
+ test("SchemalessProto error", async () => {
78
78
  let conf = new config_1.WSConfig(dns);
79
- conf.setUser('root');
80
- conf.setPwd('taosdata');
81
- conf.setDb('power_schemaless');
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('parse timestamp failed');
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('root');
96
- conf.setPwd('taosdata');
95
+ conf.setUser("root");
96
+ conf.setPwd("taosdata");
97
97
  let wsSql = await wsSql_1.WsSql.open(conf);
98
- await wsSql.exec('drop database if exists power_schemaless;');
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 = 'ws://localhost:6041';
9
- let password1 = 'Ab1!@#$%,.:?<>;~';
10
- let password2 = 'Bc%^&*()-_+=[]{}';
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('root');
15
- conf.setPwd('taosdata');
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('create database if not exists sql_test KEEP 3650 DURATION 10 BUFFER 16 WAL_LEVEL 1;');
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('use sql_test');
22
- await wsSql.exec('CREATE STABLE if not exists meters (ts timestamp, current float, voltage int, phase float) TAGS (location binary(64), groupId int);');
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('TDWebSocket.WsSql()', () => {
27
+ describe("TDWebSocket.WsSql()", () => {
26
28
  jest.setTimeout(20 * 1000);
27
- test('normal connect', async () => {
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('root');
32
- conf.setPwd('taosdata');
33
- conf.setDb('sql_test');
34
- conf.setTimezone('America/New_York');
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('select timezone()');
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('America/New_York');
45
+ expect(JSON.stringify(result)).toContain("America/New_York");
44
46
  }
45
47
  await wsSql.close();
46
48
  });
47
- test('special characters connect1', async () => {
49
+ test("special characters connect1", async () => {
48
50
  let wsSql = null;
49
51
  let conf = new config_1.WSConfig(dns);
50
- conf.setUser('user1');
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('special characters connect2', async () => {
61
+ test("special characters connect2", async () => {
60
62
  let wsSql = null;
61
63
  let conf = new config_1.WSConfig(dns);
62
- conf.setUser('user2');
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('connect db with error', async () => {
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('root');
77
- conf.setPwd('taosdata');
78
- conf.setDb('jest');
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('Database not exist');
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('connect url', async () => {
92
- let url = 'ws://root:taosdata@localhost:6041/information_schema?timezone=Asia/Shanghai';
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('select timezone()');
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('Asia/Shanghai');
105
+ expect(JSON.stringify(result)).toContain("Asia/Shanghai");
104
106
  }
105
107
  await wsSql.close();
106
108
  });
107
- test('get taosc version', async () => {
109
+ test("get taosc version", async () => {
108
110
  let conf = new config_1.WSConfig(dns);
109
- conf.setUser('root');
110
- conf.setPwd('taosdata');
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('show databases', async () => {
119
+ test("show databases", async () => {
118
120
  let conf = new config_1.WSConfig(dns);
119
- conf.setUser('root');
120
- conf.setPwd('taosdata');
121
+ conf.setUser("root");
122
+ conf.setPwd("taosdata");
121
123
  let wsSql = await wsSql_1.WsSql.open(conf);
122
- let taosResult = await wsSql.exec('show databases');
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('create databases', async () => {
129
+ test("create databases", async () => {
128
130
  let conf = new config_1.WSConfig(dns);
129
- conf.setUser('root');
130
- conf.setPwd('taosdata');
131
+ conf.setUser("root");
132
+ conf.setPwd("taosdata");
131
133
  let wsSql = await wsSql_1.WsSql.open(conf);
132
- let taosResult = await wsSql.exec('create database if not exists sql_create KEEP 3650 DURATION 10 BUFFER 16 WAL_LEVEL 1;');
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('create stable', async () => {
139
+ test("create stable", async () => {
138
140
  let conf = new config_1.WSConfig(dns);
139
- conf.setUser('root');
140
- conf.setPwd('taosdata');
141
+ conf.setUser("root");
142
+ conf.setPwd("taosdata");
141
143
  let wsSql = await wsSql_1.WsSql.open(conf);
142
- let taosResult = await wsSql.exec('use sql_test');
144
+ let taosResult = await wsSql.exec("use sql_test");
143
145
  console.log(taosResult);
144
146
  expect(taosResult).toBeTruthy();
145
- taosResult = await wsSql.exec('CREATE STABLE if not exists meters (ts timestamp, current float, voltage int, phase float) TAGS (location binary(64), groupId int);');
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('insert recoder', async () => {
152
+ test("insert recoder", async () => {
151
153
  let conf = new config_1.WSConfig(dns);
152
- conf.setUser('root');
153
- conf.setPwd('taosdata');
154
+ conf.setUser("root");
155
+ conf.setPwd("taosdata");
154
156
  let wsSql = await wsSql_1.WsSql.open(conf);
155
- let taosResult = await wsSql.exec('use sql_test');
157
+ let taosResult = await wsSql.exec("use sql_test");
156
158
  console.log(taosResult);
157
159
  expect(taosResult).toBeTruthy();
158
- taosResult = await wsSql.exec('describe meters');
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('query sql', async () => {
167
+ test("query sql", async () => {
166
168
  let conf = new config_1.WSConfig(dns);
167
- conf.setUser('root');
168
- conf.setPwd('taosdata');
169
+ conf.setUser("root");
170
+ conf.setPwd("taosdata");
169
171
  let wsSql = await wsSql_1.WsSql.open(conf);
170
- let taosResult = await wsSql.exec('use sql_test');
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('select * from meters limit 3');
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('query sql no getdata', async () => {
189
+ test("query sql no getdata", async () => {
188
190
  let conf = new config_1.WSConfig(dns);
189
- conf.setUser('root');
190
- conf.setPwd('taosdata');
191
+ conf.setUser("root");
192
+ conf.setPwd("taosdata");
191
193
  let wsSql = await wsSql_1.WsSql.open(conf);
192
- let taosResult = await wsSql.exec('use sql_test');
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('select * from meters');
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('root');
203
- conf.setPwd('taosdata');
243
+ conf.setUser("root");
244
+ conf.setPwd("taosdata");
204
245
  let wsSql = await wsSql_1.WsSql.open(conf);
205
- await wsSql.exec('drop database sql_test');
206
- await wsSql.exec('DROP USER user1;');
207
- await wsSql.exec('DROP USER user2;');
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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=stmt1.func.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stmt1.func.test.d.ts","sourceRoot":"","sources":["../../../test/bulkPulling/stmt1.func.test.ts"],"names":[],"mappings":""}