@tdengine/websocket 3.2.0 → 3.2.2

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 (102) 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 +0 -7
  9. package/lib/index.d.ts.map +1 -1
  10. package/lib/index.js +0 -7
  11. package/lib/src/client/wsClient.d.ts +2 -2
  12. package/lib/src/client/wsClient.d.ts.map +1 -1
  13. package/lib/src/client/wsClient.js +60 -37
  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 +2 -2
  23. package/lib/src/common/config.d.ts.map +1 -1
  24. package/lib/src/common/config.js +5 -5
  25. package/lib/src/common/constant.d.ts.map +1 -1
  26. package/lib/src/common/constant.js +27 -27
  27. package/lib/src/common/log.d.ts +1 -1
  28. package/lib/src/common/log.d.ts.map +1 -1
  29. package/lib/src/common/log.js +9 -7
  30. package/lib/src/common/reqid.d.ts.map +1 -1
  31. package/lib/src/common/reqid.js +7 -7
  32. package/lib/src/common/taosResult.d.ts.map +1 -1
  33. package/lib/src/common/taosResult.js +46 -27
  34. package/lib/src/common/ut8Helper.d.ts.map +1 -1
  35. package/lib/src/common/ut8Helper.js +8 -8
  36. package/lib/src/common/utils.d.ts.map +1 -1
  37. package/lib/src/common/utils.js +17 -16
  38. package/lib/src/common/wsError.d.ts.map +1 -1
  39. package/lib/src/common/wsError.js +3 -3
  40. package/lib/src/common/wsOptions.d.ts +1 -1
  41. package/lib/src/index.d.ts +3 -3
  42. package/lib/src/index.d.ts.map +1 -1
  43. package/lib/src/sql/wsProto.d.ts.map +1 -1
  44. package/lib/src/sql/wsRows.d.ts +3 -3
  45. package/lib/src/sql/wsRows.d.ts.map +1 -1
  46. package/lib/src/sql/wsRows.js +4 -2
  47. package/lib/src/sql/wsSql.d.ts +5 -5
  48. package/lib/src/sql/wsSql.d.ts.map +1 -1
  49. package/lib/src/sql/wsSql.js +15 -16
  50. package/lib/src/stmt/FieldBindParams.d.ts.map +1 -1
  51. package/lib/src/stmt/wsColumnInfo.d.ts.map +1 -1
  52. package/lib/src/stmt/wsParams1.d.ts.map +1 -1
  53. package/lib/src/stmt/wsParams1.js +50 -24
  54. package/lib/src/stmt/wsParams2.d.ts.map +1 -1
  55. package/lib/src/stmt/wsParams2.js +30 -15
  56. package/lib/src/stmt/wsParamsBase.d.ts.map +1 -1
  57. package/lib/src/stmt/wsParamsBase.js +5 -3
  58. package/lib/src/stmt/wsProto.d.ts.map +1 -1
  59. package/lib/src/stmt/wsProto.js +22 -11
  60. package/lib/src/stmt/wsStmt.d.ts.map +1 -1
  61. package/lib/src/stmt/wsStmt1.d.ts +5 -5
  62. package/lib/src/stmt/wsStmt1.d.ts.map +1 -1
  63. package/lib/src/stmt/wsStmt1.js +14 -14
  64. package/lib/src/stmt/wsStmt2.d.ts +1 -1
  65. package/lib/src/stmt/wsStmt2.d.ts.map +1 -1
  66. package/lib/src/stmt/wsStmt2.js +18 -14
  67. package/lib/src/stmt/wsTableInfo.d.ts.map +1 -1
  68. package/lib/src/tmq/config.d.ts.map +1 -1
  69. package/lib/src/tmq/config.js +2 -2
  70. package/lib/src/tmq/constant.d.ts.map +1 -1
  71. package/lib/src/tmq/constant.js +28 -28
  72. package/lib/src/tmq/tmqResponse.d.ts.map +1 -1
  73. package/lib/src/tmq/tmqResponse.js +30 -16
  74. package/lib/src/tmq/wsTmq.d.ts +2 -2
  75. package/lib/src/tmq/wsTmq.d.ts.map +1 -1
  76. package/lib/src/tmq/wsTmq.js +32 -30
  77. package/lib/test/bulkPulling/cloud.tmq.test.js +11 -11
  78. package/lib/test/bulkPulling/decimal.test.js +50 -26
  79. package/lib/test/bulkPulling/log.test.js +8 -8
  80. package/lib/test/bulkPulling/queryTables.test.js +255 -49
  81. package/lib/test/bulkPulling/schemaless.test.js +34 -34
  82. package/lib/test/bulkPulling/sql.test.js +108 -69
  83. package/lib/test/bulkPulling/stmt1.func.test.js +96 -96
  84. package/lib/test/bulkPulling/stmt1.type.test.js +124 -48
  85. package/lib/test/bulkPulling/stmt2.func.test.js +116 -112
  86. package/lib/test/bulkPulling/stmt2.type.test.js +124 -48
  87. package/lib/test/bulkPulling/tmq.test.js +225 -31
  88. package/lib/test/bulkPulling/utils.test.js +2 -2
  89. package/lib/test/bulkPulling/wsConnectPool.test.js +18 -18
  90. package/lib/test/utils.d.ts.map +1 -1
  91. package/lib/test/utils.js +129 -129
  92. package/package.json +1 -1
  93. package/readme.md +1 -0
  94. package/lib/src/stmt/wsParams.d.ts +0 -41
  95. package/lib/src/stmt/wsParams.d.ts.map +0 -1
  96. package/lib/src/stmt/wsParams.js +0 -428
  97. package/lib/test/bulkPulling/stmt.func.test.d.ts +0 -2
  98. package/lib/test/bulkPulling/stmt.func.test.d.ts.map +0 -1
  99. package/lib/test/bulkPulling/stmt.func.test.js +0 -493
  100. package/lib/test/bulkPulling/stmt.type.test.d.ts +0 -2
  101. package/lib/test/bulkPulling/stmt.type.test.d.ts.map +0 -1
  102. package/lib/test/bulkPulling/stmt.type.test.js +0 -316
@@ -5,51 +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
+ await wsSql.exec("drop database if exists sql_test");
18
+ await wsSql.exec("drop database if exists sql_create");
19
19
  await wsSql.exec(`CREATE USER user1 PASS '${password1}'`);
20
20
  await wsSql.exec(`CREATE USER user2 PASS '${password2}'`);
21
- 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;");
22
22
  await (0, utils_1.Sleep)(100);
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
+ 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);");
25
25
  await wsSql.close();
26
26
  });
27
- describe('TDWebSocket.WsSql()', () => {
27
+ describe("TDWebSocket.WsSql()", () => {
28
28
  jest.setTimeout(20 * 1000);
29
- test('normal connect', async () => {
29
+ test("normal connect", async () => {
30
30
  let wsSql = null;
31
- let conf = new config_1.WSConfig('');
31
+ let conf = new config_1.WSConfig("");
32
32
  conf.setUrl(dns);
33
- conf.setUser('root');
34
- conf.setPwd('taosdata');
35
- conf.setDb('sql_test');
36
- conf.setTimezone('America/New_York');
33
+ conf.setUser("root");
34
+ conf.setPwd("taosdata");
35
+ conf.setDb("sql_test");
36
+ conf.setTimezone("America/New_York");
37
37
  conf.setTimeOut(6000);
38
38
  wsSql = await wsSql_1.WsSql.open(conf);
39
39
  expect(wsSql.state()).toBeGreaterThan(0);
40
- let wsRows = await wsSql.query('select timezone()');
40
+ let wsRows = await wsSql.query("select timezone()");
41
41
  while (await wsRows.next()) {
42
42
  let result = wsRows.getData();
43
43
  console.log(result);
44
44
  expect(result).toBeTruthy();
45
- expect(JSON.stringify(result)).toContain('America/New_York');
45
+ expect(JSON.stringify(result)).toContain("America/New_York");
46
46
  }
47
47
  await wsSql.close();
48
48
  });
49
- test('special characters connect1', async () => {
49
+ test("special characters connect1", async () => {
50
50
  let wsSql = null;
51
51
  let conf = new config_1.WSConfig(dns);
52
- conf.setUser('user1');
52
+ conf.setUser("user1");
53
53
  conf.setPwd(password1);
54
54
  wsSql = await wsSql_1.WsSql.open(conf);
55
55
  expect(wsSql.state()).toBeGreaterThan(0);
@@ -58,10 +58,10 @@ describe('TDWebSocket.WsSql()', () => {
58
58
  expect(version).not.toBeUndefined();
59
59
  await wsSql.close();
60
60
  });
61
- test('special characters connect2', async () => {
61
+ test("special characters connect2", async () => {
62
62
  let wsSql = null;
63
63
  let conf = new config_1.WSConfig(dns);
64
- conf.setUser('user2');
64
+ conf.setUser("user2");
65
65
  conf.setPwd(password2);
66
66
  wsSql = await wsSql_1.WsSql.open(conf);
67
67
  expect(wsSql.state()).toBeGreaterThan(0);
@@ -70,19 +70,19 @@ describe('TDWebSocket.WsSql()', () => {
70
70
  expect(version).not.toBeUndefined();
71
71
  await wsSql.close();
72
72
  });
73
- test('connect db with error', async () => {
73
+ test("connect db with error", async () => {
74
74
  expect.assertions(1);
75
75
  let wsSql = null;
76
76
  try {
77
77
  let conf = new config_1.WSConfig(dns);
78
- conf.setUser('root');
79
- conf.setPwd('taosdata');
80
- conf.setDb('jest');
78
+ conf.setUser("root");
79
+ conf.setPwd("taosdata");
80
+ conf.setDb("jest");
81
81
  wsSql = await wsSql_1.WsSql.open(conf);
82
82
  }
83
83
  catch (e) {
84
84
  let err = e;
85
- expect(err.message).toMatch('Database not exist');
85
+ expect(err.message).toMatch("Database not exist");
86
86
  }
87
87
  finally {
88
88
  if (wsSql) {
@@ -90,90 +90,90 @@ describe('TDWebSocket.WsSql()', () => {
90
90
  }
91
91
  }
92
92
  });
93
- test('connect url', async () => {
94
- 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";
95
95
  let conf = new config_1.WSConfig(url);
96
96
  let wsSql = await wsSql_1.WsSql.open(conf);
97
97
  let version = await wsSql.version();
98
98
  console.log(version);
99
99
  expect(version).toBeTruthy();
100
- let wsRows = await wsSql.query('select timezone()');
100
+ let wsRows = await wsSql.query("select timezone()");
101
101
  while (await wsRows.next()) {
102
102
  let result = wsRows.getData();
103
103
  console.log(result);
104
104
  expect(result).toBeTruthy();
105
- expect(JSON.stringify(result)).toContain('Asia/Shanghai');
105
+ expect(JSON.stringify(result)).toContain("Asia/Shanghai");
106
106
  }
107
107
  await wsSql.close();
108
108
  });
109
- test('get taosc version', async () => {
109
+ test("get taosc version", async () => {
110
110
  let conf = new config_1.WSConfig(dns);
111
- conf.setUser('root');
112
- conf.setPwd('taosdata');
111
+ conf.setUser("root");
112
+ conf.setPwd("taosdata");
113
113
  let wsSql = await wsSql_1.WsSql.open(conf);
114
114
  let version = await wsSql.version();
115
115
  await wsSql.close();
116
116
  console.log(version);
117
117
  expect(version).toBeTruthy();
118
118
  });
119
- test('show databases', async () => {
119
+ test("show databases", async () => {
120
120
  let conf = new config_1.WSConfig(dns);
121
- conf.setUser('root');
122
- conf.setPwd('taosdata');
121
+ conf.setUser("root");
122
+ conf.setPwd("taosdata");
123
123
  let wsSql = await wsSql_1.WsSql.open(conf);
124
- let taosResult = await wsSql.exec('show databases');
124
+ let taosResult = await wsSql.exec("show databases");
125
125
  await wsSql.close();
126
126
  console.log(taosResult);
127
127
  expect(taosResult).toBeTruthy();
128
128
  });
129
- test('create databases', async () => {
129
+ test("create databases", async () => {
130
130
  let conf = new config_1.WSConfig(dns);
131
- conf.setUser('root');
132
- conf.setPwd('taosdata');
131
+ conf.setUser("root");
132
+ conf.setPwd("taosdata");
133
133
  let wsSql = await wsSql_1.WsSql.open(conf);
134
- 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;");
135
135
  await wsSql.close();
136
136
  console.log(taosResult);
137
137
  expect(taosResult).toBeTruthy();
138
138
  });
139
- test('create stable', async () => {
139
+ test("create stable", async () => {
140
140
  let conf = new config_1.WSConfig(dns);
141
- conf.setUser('root');
142
- conf.setPwd('taosdata');
141
+ conf.setUser("root");
142
+ conf.setPwd("taosdata");
143
143
  let wsSql = await wsSql_1.WsSql.open(conf);
144
- let taosResult = await wsSql.exec('use sql_test');
144
+ let taosResult = await wsSql.exec("use sql_test");
145
145
  console.log(taosResult);
146
146
  expect(taosResult).toBeTruthy();
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);');
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);");
148
148
  await wsSql.close();
149
149
  console.log(taosResult);
150
150
  expect(taosResult).toBeTruthy();
151
151
  });
152
- test('insert recoder', async () => {
152
+ test("insert recoder", async () => {
153
153
  let conf = new config_1.WSConfig(dns);
154
- conf.setUser('root');
155
- conf.setPwd('taosdata');
154
+ conf.setUser("root");
155
+ conf.setPwd("taosdata");
156
156
  let wsSql = await wsSql_1.WsSql.open(conf);
157
- let taosResult = await wsSql.exec('use sql_test');
157
+ let taosResult = await wsSql.exec("use sql_test");
158
158
  console.log(taosResult);
159
159
  expect(taosResult).toBeTruthy();
160
- taosResult = await wsSql.exec('describe meters');
160
+ taosResult = await wsSql.exec("describe meters");
161
161
  console.log(taosResult);
162
162
  taosResult = await wsSql.exec('INSERT INTO d1001 USING meters (location, groupid) TAGS ("California", 3) VALUES (NOW, 10.2, 219, 0.32)');
163
163
  console.log(taosResult);
164
164
  expect(taosResult.getAffectRows()).toBeGreaterThanOrEqual(1);
165
165
  await wsSql.close();
166
166
  });
167
- test('query sql', async () => {
167
+ test("query sql", async () => {
168
168
  let conf = new config_1.WSConfig(dns);
169
- conf.setUser('root');
170
- conf.setPwd('taosdata');
169
+ conf.setUser("root");
170
+ conf.setPwd("taosdata");
171
171
  let wsSql = await wsSql_1.WsSql.open(conf);
172
- let taosResult = await wsSql.exec('use sql_test');
172
+ let taosResult = await wsSql.exec("use sql_test");
173
173
  console.log(taosResult);
174
174
  expect(taosResult).toBeTruthy();
175
175
  for (let i = 0; i < 10; i++) {
176
- let wsRows = await wsSql.query('select * from meters limit 3');
176
+ let wsRows = await wsSql.query("select * from meters limit 3");
177
177
  expect(wsRows).toBeTruthy();
178
178
  let meta = wsRows.getMeta();
179
179
  expect(meta).toBeTruthy();
@@ -186,28 +186,67 @@ describe('TDWebSocket.WsSql()', () => {
186
186
  }
187
187
  await wsSql.close();
188
188
  });
189
- test('query sql no getdata', async () => {
189
+ test("query sql no getdata", async () => {
190
190
  let conf = new config_1.WSConfig(dns);
191
- conf.setUser('root');
192
- conf.setPwd('taosdata');
191
+ conf.setUser("root");
192
+ conf.setPwd("taosdata");
193
193
  let wsSql = await wsSql_1.WsSql.open(conf);
194
- let taosResult = await wsSql.exec('use sql_test');
194
+ let taosResult = await wsSql.exec("use sql_test");
195
195
  console.log(taosResult);
196
196
  expect(taosResult).toBeTruthy();
197
- let wsRows = await wsSql.query('select * from meters');
197
+ let wsRows = await wsSql.query("select * from meters");
198
198
  await wsRows.close();
199
199
  await wsSql.close();
200
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
+ });
201
240
  });
202
241
  afterAll(async () => {
203
242
  let conf = new config_1.WSConfig(dns);
204
- conf.setUser('root');
205
- conf.setPwd('taosdata');
243
+ conf.setUser("root");
244
+ conf.setPwd("taosdata");
206
245
  let wsSql = await wsSql_1.WsSql.open(conf);
207
- await wsSql.exec('drop database sql_test');
208
- await wsSql.exec('drop database sql_create');
209
- await wsSql.exec('DROP USER user1;');
210
- 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;");
211
250
  await wsSql.close();
212
251
  wsConnectorPool_1.WebSocketConnectionPool.instance().destroyed();
213
252
  });