@tdengine/websocket 3.1.0 → 3.1.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 (62) hide show
  1. package/lib/example/all_type_query.d.ts +2 -0
  2. package/lib/example/all_type_query.d.ts.map +1 -0
  3. package/lib/example/all_type_query.js +89 -0
  4. package/lib/example/all_type_stmt.d.ts +2 -0
  5. package/lib/example/all_type_stmt.d.ts.map +1 -0
  6. package/lib/example/all_type_stmt.js +130 -0
  7. package/lib/example/basicBatchTmq.d.ts +2 -0
  8. package/lib/example/basicBatchTmq.d.ts.map +1 -0
  9. package/lib/example/basicBatchTmq.js +129 -0
  10. package/lib/example/basicSql.js +9 -7
  11. package/lib/example/basicStmt.js +34 -20
  12. package/lib/example/basicTmq.js +22 -20
  13. package/lib/example/logs/.007e668bb78549e9a304b8466671945ab2a1553e-audit.json +15 -0
  14. package/lib/example/logs/app-2024-10-12.log.gz +0 -0
  15. package/lib/example/logs/app-2024-11-06.log +542 -0
  16. package/lib/example/test.d.ts +2 -0
  17. package/lib/example/test.d.ts.map +1 -0
  18. package/lib/example/test.js +88 -0
  19. package/lib/src/client/wsClient.d.ts +2 -5
  20. package/lib/src/client/wsClient.d.ts.map +1 -1
  21. package/lib/src/client/wsClient.js +4 -54
  22. package/lib/src/client/wsConnector.js +3 -3
  23. package/lib/src/client/wsResponse.d.ts +10 -15
  24. package/lib/src/client/wsResponse.d.ts.map +1 -1
  25. package/lib/src/client/wsResponse.js +31 -19
  26. package/lib/src/common/constant.d.ts +23 -1
  27. package/lib/src/common/constant.d.ts.map +1 -1
  28. package/lib/src/common/constant.js +25 -22
  29. package/lib/src/common/log.js +1 -1
  30. package/lib/src/common/taosResult.d.ts +11 -5
  31. package/lib/src/common/taosResult.d.ts.map +1 -1
  32. package/lib/src/common/taosResult.js +106 -76
  33. package/lib/src/common/utils.d.ts +2 -0
  34. package/lib/src/common/utils.d.ts.map +1 -1
  35. package/lib/src/common/utils.js +34 -1
  36. package/lib/src/sql/wsRows.d.ts.map +1 -1
  37. package/lib/src/sql/wsRows.js +21 -10
  38. package/lib/src/sql/wsSql.d.ts.map +1 -1
  39. package/lib/src/sql/wsSql.js +29 -19
  40. package/lib/src/stmt/wsParams.js +40 -40
  41. package/lib/src/tmq/constant.d.ts +15 -0
  42. package/lib/src/tmq/constant.d.ts.map +1 -1
  43. package/lib/src/tmq/constant.js +17 -1
  44. package/lib/src/tmq/tmqResponse.d.ts +20 -8
  45. package/lib/src/tmq/tmqResponse.d.ts.map +1 -1
  46. package/lib/src/tmq/tmqResponse.js +214 -89
  47. package/lib/src/tmq/wsTmq.d.ts +0 -1
  48. package/lib/src/tmq/wsTmq.d.ts.map +1 -1
  49. package/lib/src/tmq/wsTmq.js +18 -32
  50. package/lib/test/bulkPulling/log.test.d.ts +2 -0
  51. package/lib/test/bulkPulling/log.test.d.ts.map +1 -0
  52. package/lib/test/bulkPulling/log.test.js +44 -0
  53. package/lib/test/bulkPulling/schemaless.test.js +7 -6
  54. package/lib/test/bulkPulling/sql.test.js +38 -18
  55. package/lib/test/bulkPulling/stmt.func.test.js +72 -56
  56. package/lib/test/bulkPulling/stmt.type.test.js +1 -5
  57. package/lib/test/bulkPulling/tmq.test.js +22 -15
  58. package/lib/test/bulkPulling/wsConnectPool.test.js +9 -2
  59. package/lib/test/utils.d.ts +0 -1
  60. package/lib/test/utils.d.ts.map +1 -1
  61. package/lib/test/utils.js +17 -17
  62. package/package.json +2 -2
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=all_type_query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"all_type_query.d.ts","sourceRoot":"","sources":["../../example/all_type_query.ts"],"names":[],"mappings":""}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const config_1 = require("../src/common/config");
4
+ const src_1 = require("../src");
5
+ let dsn = 'ws://127.0.0.1:6041';
6
+ async function json_tag_example() {
7
+ let wsSql = null;
8
+ try {
9
+ let conf = new config_1.WSConfig(dsn);
10
+ conf.setUser('root');
11
+ conf.setPwd('taosdata');
12
+ wsSql = await (0, src_1.sqlConnect)(conf);
13
+ console.log("Connected to " + dsn + " successfully.");
14
+ // create database
15
+ await wsSql.exec('CREATE DATABASE IF NOT EXISTS example_json_tag');
16
+ console.log("Create database example_json_tag successfully.");
17
+ // create table
18
+ await wsSql.exec('create table if not exists example_json_tag.stb (ts timestamp, v int) tags(jt json)');
19
+ console.log("Create stable example_json_tag.stb successfully");
20
+ let insertQuery = 'INSERT INTO ' +
21
+ 'example_json_tag.tb1 USING example_json_tag.stb TAGS(\'{"name":"value"}\') ' +
22
+ "values(now, 1) ";
23
+ let taosResult = await wsSql.exec(insertQuery);
24
+ console.log("Successfully inserted " + taosResult.getAffectRows() + " rows to example_json_tag.stb.");
25
+ let sql = 'SELECT ts, v, jt FROM example_json_tag.stb limit 100';
26
+ let wsRows = await wsSql.query(sql);
27
+ while (await wsRows.next()) {
28
+ let row = wsRows.getData();
29
+ if (row) {
30
+ console.log('ts: ' + row[0] + ', v: ' + row[1] + ', jt: ' + row[2]);
31
+ }
32
+ }
33
+ }
34
+ catch (err) {
35
+ console.error(`Failed to create database example_json_tag or stable stb, ErrCode: ${err.code}, ErrMessage: ${err.message}`);
36
+ }
37
+ finally {
38
+ if (wsSql) {
39
+ await wsSql.close();
40
+ }
41
+ }
42
+ }
43
+ async function all_type_example() {
44
+ let wsSql = null;
45
+ try {
46
+ let conf = new config_1.WSConfig(dsn);
47
+ conf.setUser('root');
48
+ conf.setPwd('taosdata');
49
+ wsSql = await (0, src_1.sqlConnect)(conf);
50
+ console.log("Connected to " + dsn + " successfully.");
51
+ // create database
52
+ await wsSql.exec('CREATE DATABASE IF NOT EXISTS all_type_example');
53
+ console.log("Create database all_type_example successfully.");
54
+ // create table
55
+ await wsSql.exec('create table if not exists all_type_example.stb (ts timestamp, ' +
56
+ 'int_col INT, double_col DOUBLE, bool_col BOOL, binary_col BINARY(100),' +
57
+ 'nchar_col NCHAR(100), varbinary_col VARBINARY(100), geometry_col GEOMETRY(100)) ' +
58
+ 'tags(int_tag INT, double_tag DOUBLE, bool_tag BOOL, binary_tag BINARY(100),' +
59
+ 'nchar_tag NCHAR(100), varbinary_tag VARBINARY(100), geometry_tag GEOMETRY(100));');
60
+ console.log("Create stable all_type_example.stb successfully");
61
+ let insertQuery = "INSERT INTO all_type_example.tb1 using all_type_example.stb "
62
+ + "tags(1, 1.1, true, 'binary_value', 'nchar_value', '\\x98f46e', 'POINT(100 100)') "
63
+ + "values(now, 1, 1.1, true, 'binary_value', 'nchar_value', '\\x98f46e', 'POINT(100 100)')";
64
+ let taosResult = await wsSql.exec(insertQuery);
65
+ console.log("Successfully inserted " + taosResult.getAffectRows() + " rows to all_type_example.stb.");
66
+ let sql = 'SELECT * FROM all_type_example.stb limit 100';
67
+ let wsRows = await wsSql.query(sql);
68
+ let meta = wsRows.getMeta();
69
+ console.log("wsRow:meta:=>", meta);
70
+ while (await wsRows.next()) {
71
+ let row = wsRows.getData();
72
+ console.log(row);
73
+ }
74
+ }
75
+ catch (err) {
76
+ console.error(`Failed to create database all_type_example or stable stb, ErrCode: ${err.code}, ErrMessage: ${err.message}`);
77
+ }
78
+ finally {
79
+ if (wsSql) {
80
+ await wsSql.close();
81
+ }
82
+ }
83
+ }
84
+ async function test() {
85
+ await json_tag_example();
86
+ await all_type_example();
87
+ (0, src_1.destroy)();
88
+ }
89
+ test();
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=all_type_stmt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"all_type_stmt.d.ts","sourceRoot":"","sources":["../../example/all_type_stmt.ts"],"names":[],"mappings":""}
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const config_1 = require("../src/common/config");
4
+ const src_1 = require("../src");
5
+ const log_1 = require("../src/common/log");
6
+ let dsn = 'ws://127.0.0.1:6041';
7
+ async function json_tag_example() {
8
+ let wsSql = null;
9
+ try {
10
+ let conf = new config_1.WSConfig(dsn);
11
+ conf.setUser('root');
12
+ conf.setPwd('taosdata');
13
+ wsSql = await (0, src_1.sqlConnect)(conf);
14
+ console.log("Connected to " + dsn + " successfully.");
15
+ // create database
16
+ await wsSql.exec('CREATE DATABASE IF NOT EXISTS example_json_tag');
17
+ console.log("Create database example_json_tag successfully.");
18
+ await wsSql.exec('use example_json_tag');
19
+ // create table
20
+ await wsSql.exec('create table if not exists stb (ts timestamp, v int) tags(jt json)');
21
+ console.log("Create stable example_json_tag.stb successfully");
22
+ let stmt = await wsSql.stmtInit();
23
+ await stmt.prepare("INSERT INTO ? using stb tags(?) VALUES (?,?)");
24
+ await stmt.setTableName(`tb1`);
25
+ let tagParams = stmt.newStmtParam();
26
+ tagParams.setJson(['{"name":"value"}']);
27
+ await stmt.setTags(tagParams);
28
+ let bindParams = stmt.newStmtParam();
29
+ const currentMillis = new Date().getTime();
30
+ bindParams.setTimestamp([currentMillis]);
31
+ bindParams.setInt([1]);
32
+ await stmt.bind(bindParams);
33
+ await stmt.batch();
34
+ await stmt.exec();
35
+ await stmt.close();
36
+ let sql = 'SELECT ts, v, jt FROM example_json_tag.stb limit 100';
37
+ let wsRows = await wsSql.query(sql);
38
+ while (await wsRows.next()) {
39
+ let row = wsRows.getData();
40
+ if (row) {
41
+ console.log('ts: ' + row[0] + ', v: ' + row[1] + ', jt: ' + row[2]);
42
+ }
43
+ }
44
+ }
45
+ catch (err) {
46
+ console.error(`Failed to create database example_json_tag or stable stb, ErrCode: ${err.code}, ErrMessage: ${err.message}`);
47
+ }
48
+ finally {
49
+ if (wsSql) {
50
+ await wsSql.close();
51
+ }
52
+ }
53
+ }
54
+ async function all_type_example() {
55
+ let wsSql = null;
56
+ let stmt = null;
57
+ try {
58
+ let conf = new config_1.WSConfig(dsn);
59
+ conf.setUser('root');
60
+ conf.setPwd('taosdata');
61
+ wsSql = await (0, src_1.sqlConnect)(conf);
62
+ console.log("Connected to " + dsn + " successfully.");
63
+ // create database
64
+ await wsSql.exec('CREATE DATABASE IF NOT EXISTS all_type_example');
65
+ console.log("Create database all_type_example successfully.");
66
+ await wsSql.exec('use all_type_example');
67
+ // create table
68
+ await wsSql.exec('create table if not exists stb (ts timestamp, ' +
69
+ 'int_col INT, double_col DOUBLE, bool_col BOOL, binary_col BINARY(100),' +
70
+ 'nchar_col NCHAR(100), varbinary_col VARBINARY(100), geometry_col GEOMETRY(100)) ' +
71
+ 'tags(int_tag INT, double_tag DOUBLE, bool_tag BOOL, binary_tag BINARY(100),' +
72
+ 'nchar_tag NCHAR(100), varbinary_tag VARBINARY(100), geometry_tag GEOMETRY(100));');
73
+ console.log("Create stable all_type_example.stb successfully");
74
+ let geometryData = new Uint8Array([0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
75
+ 0x00, 0x00, 0x00, 0x59, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0x40,]).buffer;
76
+ const encoder = new TextEncoder();
77
+ let vbData = encoder.encode(`Hello, world!`).buffer;
78
+ stmt = await wsSql.stmtInit();
79
+ await stmt.prepare("INSERT INTO ? using stb tags(?,?,?,?,?,?,?) VALUES (?,?,?,?,?,?,?,?)");
80
+ await stmt.setTableName(`tb1`);
81
+ let tagParams = stmt.newStmtParam();
82
+ tagParams.setInt([1]);
83
+ tagParams.setDouble([1.1]);
84
+ tagParams.setBoolean([true]);
85
+ tagParams.setVarchar(["hello"]);
86
+ tagParams.setNchar(["stmt"]);
87
+ tagParams.setGeometry([geometryData]);
88
+ tagParams.setVarBinary([vbData]);
89
+ await stmt.setTags(tagParams);
90
+ let bindParams = stmt.newStmtParam();
91
+ const currentMillis = new Date().getTime();
92
+ bindParams.setTimestamp([currentMillis]);
93
+ bindParams.setInt([1]);
94
+ bindParams.setDouble([1.1]);
95
+ bindParams.setBoolean([true]);
96
+ bindParams.setVarchar(["hello"]);
97
+ bindParams.setNchar(["stmt"]);
98
+ bindParams.setGeometry([geometryData]);
99
+ bindParams.setVarBinary([vbData]);
100
+ await stmt.bind(bindParams);
101
+ await stmt.batch();
102
+ await stmt.exec();
103
+ let sql = 'SELECT * FROM all_type_example.stb limit 100';
104
+ let wsRows = await wsSql.query(sql);
105
+ let meta = wsRows.getMeta();
106
+ console.log("wsRow:meta:=>", meta);
107
+ while (await wsRows.next()) {
108
+ let row = wsRows.getData();
109
+ console.log(row);
110
+ }
111
+ }
112
+ catch (err) {
113
+ console.error(`Failed to create database all_type_example or stable stb, ErrCode: ${err.code}, ErrMessage: ${err.message}`);
114
+ }
115
+ finally {
116
+ if (stmt) {
117
+ await stmt.close();
118
+ }
119
+ if (wsSql) {
120
+ await wsSql.close();
121
+ }
122
+ }
123
+ }
124
+ async function test() {
125
+ (0, log_1.setLevel)("debug");
126
+ await json_tag_example();
127
+ await all_type_example();
128
+ (0, src_1.destroy)();
129
+ }
130
+ test();
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=basicBatchTmq.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basicBatchTmq.d.ts","sourceRoot":"","sources":["../../example/basicBatchTmq.ts"],"names":[],"mappings":""}
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const config_1 = require("../src/common/config");
4
+ const constant_1 = require("../src/tmq/constant");
5
+ const src_1 = require("../src");
6
+ const db = 'power';
7
+ const stable = 'meters';
8
+ const url = 'ws://localhost:6041';
9
+ const topic = 'topic_meters';
10
+ const topics = [topic];
11
+ const groupId = "group-50";
12
+ const clientId = "client-50";
13
+ async function createConsumer() {
14
+ let configMap = new Map([
15
+ [constant_1.TMQConstants.GROUP_ID, groupId],
16
+ [constant_1.TMQConstants.CLIENT_ID, clientId],
17
+ [constant_1.TMQConstants.CONNECT_USER, "root"],
18
+ [constant_1.TMQConstants.CONNECT_PASS, "taosdata"],
19
+ [constant_1.TMQConstants.AUTO_OFFSET_RESET, "earliest"],
20
+ [constant_1.TMQConstants.WS_URL, url],
21
+ [constant_1.TMQConstants.ENABLE_AUTO_COMMIT, 'false'],
22
+ [constant_1.TMQConstants.AUTO_COMMIT_INTERVAL_MS, '1000']
23
+ ]);
24
+ try {
25
+ let conn = await (0, src_1.tmqConnect)(configMap);
26
+ console.log(`Create consumer successfully, host: ${url}, groupId: ${groupId}, clientId: ${clientId}`);
27
+ return conn;
28
+ }
29
+ catch (err) {
30
+ console.error(`Failed to create websocket consumer, topic: ${topic}, groupId: ${groupId}, clientId: ${clientId}, ErrCode: ${err.code}, ErrMessage: ${err.message}`);
31
+ throw err;
32
+ }
33
+ }
34
+ // ANCHOR_END: create_consumer
35
+ async function prepare() {
36
+ let conf = new config_1.WSConfig('ws://localhost:6041');
37
+ conf.setUser('root');
38
+ conf.setPwd('taosdata');
39
+ conf.setDb(db);
40
+ const createDB = `CREATE DATABASE IF NOT EXISTS ${db}`;
41
+ const createStable = `CREATE STABLE IF NOT EXISTS ${db}.${stable} (ts timestamp, current float, voltage int, phase float) TAGS (location binary(64), groupId int);`;
42
+ let wsSql = await (0, src_1.sqlConnect)(conf);
43
+ await wsSql.exec(createDB);
44
+ await wsSql.exec(createStable);
45
+ let createTopic = `CREATE TOPIC IF NOT EXISTS ${topics[0]} AS SELECT * FROM ${db}.${stable}`;
46
+ await wsSql.exec(createTopic);
47
+ wsSql.close();
48
+ }
49
+ async function insert() {
50
+ let conf = new config_1.WSConfig('ws://localhost:6041');
51
+ conf.setUser('root');
52
+ conf.setPwd('taosdata');
53
+ conf.setDb(db);
54
+ let wsSql = await (0, src_1.sqlConnect)(conf);
55
+ for (let i = 0; i < 10000; i++) {
56
+ await wsSql.exec(`INSERT INTO d1001 USING ${stable} (location, groupId) TAGS ("California.SanFrancisco", 3) VALUES (NOW + ${i}a, ${10 + i}, ${200 + i}, ${0.32 + i})`);
57
+ }
58
+ await wsSql.close();
59
+ console.log("insert fininsh!!!!!");
60
+ }
61
+ async function subscribe(consumer) {
62
+ // ANCHOR: commit
63
+ try {
64
+ let count = 0;
65
+ await consumer.subscribe(topics);
66
+ let bFinish = false;
67
+ let bBegin = false;
68
+ const startTime = new Date().getTime();
69
+ while (!bFinish) {
70
+ let res = await consumer.poll(100);
71
+ for (let [key, value] of res) {
72
+ // Add your data processing logic here
73
+ let data = value.getData();
74
+ if (data) {
75
+ if (data.length == 0 && bBegin) {
76
+ bFinish = true;
77
+ break;
78
+ }
79
+ else if (data.length > 0) {
80
+ bBegin = true;
81
+ }
82
+ count += data.length;
83
+ console.log("poll end ------>", count);
84
+ }
85
+ }
86
+ // await consumer.commit();
87
+ }
88
+ const endTime = new Date().getTime();
89
+ console.log(count, endTime - startTime);
90
+ }
91
+ catch (err) {
92
+ console.error(`Failed to poll data, topic: ${topic}, groupId: ${groupId}, clientId: ${clientId}, ErrCode: ${err.code}, ErrMessage: ${err.message}`);
93
+ throw err;
94
+ }
95
+ // ANCHOR_END: commit
96
+ }
97
+ async function consumer() {
98
+ // ANCHOR: unsubscribe
99
+ (0, src_1.setLogLevel)("debug");
100
+ let consumer = null;
101
+ try {
102
+ // await prepare();
103
+ consumer = await createConsumer();
104
+ // const allPromises = [];
105
+ // allPromises.push(subscribe(consumer));
106
+ // allPromises.push(insert());
107
+ // await Promise.all(allPromises);
108
+ // await insert();
109
+ await subscribe(consumer);
110
+ await consumer.unsubscribe();
111
+ console.log("Consumer unsubscribed successfully.");
112
+ }
113
+ catch (err) {
114
+ console.error(`Failed to unsubscribe consumer, topic: ${topic}, groupId: ${groupId}, clientId: ${clientId}, ErrCode: ${err.code}, ErrMessage: ${err.message}`);
115
+ throw err;
116
+ }
117
+ finally {
118
+ if (consumer) {
119
+ await consumer.close();
120
+ console.log("Consumer closed successfully.");
121
+ }
122
+ (0, src_1.destroy)();
123
+ }
124
+ // ANCHOR_END: unsubscribe
125
+ }
126
+ async function test() {
127
+ await consumer();
128
+ }
129
+ test();
@@ -27,14 +27,16 @@ let dsn = 'ws://root:taosdata@localhost:6041';
27
27
  console.log(taosResult);
28
28
  taosResult = await wsSql.exec('INSERT INTO d1001 USING meters TAGS ("California.SanFrancisco", 3) VALUES (NOW, 10.2, 219, 0.32)', reqId++);
29
29
  console.log(taosResult);
30
- wsRows = await wsSql.query('select * from meters', reqId++);
31
- let meta = wsRows.getMeta();
32
- console.log("wsRow:meta:=>", meta);
33
- while (await wsRows.next()) {
34
- let result = wsRows.getData();
35
- console.log('queryRes.Scan().then=>', result);
30
+ for (let i = 0; i < 100; i++) {
31
+ wsRows = await wsSql.query('select * from meters', reqId++);
32
+ let meta = wsRows.getMeta();
33
+ console.log("wsRow:meta:=>", meta);
34
+ while (await wsRows.next()) {
35
+ let result = wsRows.getData();
36
+ console.log('queryRes.Scan().then=>', result);
37
+ }
38
+ wsRows.close();
36
39
  }
37
- wsRows.close();
38
40
  }
39
41
  catch (err) {
40
42
  console.error(err.code, err.message);
@@ -4,13 +4,13 @@ const config_1 = require("../src/common/config");
4
4
  const src_1 = require("../src");
5
5
  let db = 'power';
6
6
  let stable = 'meters';
7
- let tags = ['California.SanFrancisco', 3];
8
- let multi = [
9
- [1706786044994, 1706786044995, 1706786044996],
10
- [10.2, 10.3, 10.4],
11
- [292, 293, 294],
12
- [0.32, 0.33, 0.34],
13
- ];
7
+ let numOfSubTable = 10;
8
+ let numOfRow = 10;
9
+ function getRandomInt(min, max) {
10
+ min = Math.ceil(min);
11
+ max = Math.floor(max);
12
+ return Math.floor(Math.random() * (max - min + 1)) + min;
13
+ }
14
14
  let dsn = 'ws://root:taosdata@localhost:6041';
15
15
  async function Prepare() {
16
16
  let conf = new config_1.WSConfig(dsn);
@@ -29,19 +29,33 @@ async function Prepare() {
29
29
  connector = await (0, src_1.sqlConnect)(wsConf);
30
30
  stmt = await connector.stmtInit();
31
31
  await stmt.prepare(`INSERT INTO ? USING ${db}.${stable} (location, groupId) TAGS (?, ?) VALUES (?, ?, ?, ?)`);
32
- await stmt.setTableName('d1001');
33
- let tagParams = stmt.newStmtParam();
34
- tagParams.setVarchar([tags[0]]);
35
- tagParams.setInt([tags[1]]);
36
- await stmt.setTags(tagParams);
37
- let bindParams = stmt.newStmtParam();
38
- bindParams.setTimestamp(multi[0]);
39
- bindParams.setFloat(multi[1]);
40
- bindParams.setInt(multi[2]);
41
- bindParams.setFloat(multi[3]);
42
- await stmt.bind(bindParams);
43
- await stmt.batch();
44
- await stmt.exec();
32
+ for (let i = 0; i < numOfSubTable; i++) {
33
+ await stmt.setTableName(`d_bind_${i}`);
34
+ let tagParams = stmt.newStmtParam();
35
+ tagParams.setVarchar([`location_${i}`]);
36
+ tagParams.setInt([i]);
37
+ await stmt.setTags(tagParams);
38
+ let timestampParams = [];
39
+ let currentParams = [];
40
+ let voltageParams = [];
41
+ let phaseParams = [];
42
+ const currentMillis = new Date().getTime();
43
+ for (let j = 0; j < numOfRow; j++) {
44
+ timestampParams.push(currentMillis + j);
45
+ currentParams.push(Math.random() * 30);
46
+ voltageParams.push(getRandomInt(100, 300));
47
+ phaseParams.push(Math.random());
48
+ }
49
+ let bindParams = stmt.newStmtParam();
50
+ bindParams.setTimestamp(timestampParams);
51
+ bindParams.setFloat(currentParams);
52
+ bindParams.setInt(voltageParams);
53
+ bindParams.setFloat(phaseParams);
54
+ await stmt.bind(bindParams);
55
+ await stmt.batch();
56
+ await stmt.exec();
57
+ console.log(`d_bind_${i} insert ` + stmt.getLastAffected() + " rows.");
58
+ }
45
59
  }
46
60
  catch (e) {
47
61
  console.error(e);
@@ -5,16 +5,16 @@ const constant_1 = require("../src/tmq/constant");
5
5
  const src_1 = require("../src");
6
6
  const stable = 'meters';
7
7
  const db = 'power';
8
- const topics = ['pwer_meters_topic'];
8
+ const topics = ['topic_ws_map'];
9
9
  let dropTopic = `DROP TOPIC IF EXISTS ${topics[0]};`;
10
10
  let configMap = new Map([
11
- [constant_1.TMQConstants.GROUP_ID, "gId"],
11
+ [constant_1.TMQConstants.GROUP_ID, "gId_11"],
12
12
  [constant_1.TMQConstants.CONNECT_USER, "root"],
13
13
  [constant_1.TMQConstants.CONNECT_PASS, "taosdata"],
14
14
  [constant_1.TMQConstants.AUTO_OFFSET_RESET, "earliest"],
15
- [constant_1.TMQConstants.CLIENT_ID, 'test_tmq_client'],
15
+ [constant_1.TMQConstants.CLIENT_ID, 'test_tmq_client11'],
16
16
  [constant_1.TMQConstants.WS_URL, 'ws://localhost:6041'],
17
- [constant_1.TMQConstants.ENABLE_AUTO_COMMIT, 'true'],
17
+ [constant_1.TMQConstants.ENABLE_AUTO_COMMIT, 'false'],
18
18
  [constant_1.TMQConstants.AUTO_COMMIT_INTERVAL_MS, '1000']
19
19
  ]);
20
20
  let dsn = 'ws://root:taosdata@localhost:6041';
@@ -29,34 +29,36 @@ async function Prepare() {
29
29
  await ws.exec(useDB);
30
30
  await ws.exec(createStable);
31
31
  await ws.exec(createTopic);
32
- for (let i = 0; i < 10; i++) {
33
- await ws.exec(`INSERT INTO d1001 USING ${stable} (location, groupId) TAGS ("California.SanFrancisco", 3) VALUES (NOW, ${10 + i}, ${200 + i}, ${0.32 + i})`);
32
+ for (let i = 0; i < 1000; i++) {
33
+ await ws.exec(`INSERT INTO d1001 USING ${stable} (location, groupId) TAGS ("California.SanFrancisco", 3) VALUES (NOW + ${i}a, ${10 + i}, ${200 + i}, ${0.32 + i})`);
34
34
  }
35
- ws.close();
35
+ await ws.close();
36
36
  }
37
37
  (async () => {
38
38
  let consumer = null;
39
39
  try {
40
+ (0, src_1.setLogLevel)("debug");
40
41
  await Prepare();
41
42
  consumer = await (0, src_1.tmqConnect)(configMap);
42
43
  await consumer.subscribe(topics);
43
44
  for (let i = 0; i < 5; i++) {
44
- let res = await consumer.poll(500);
45
+ let res = await consumer.poll(100);
45
46
  for (let [key, value] of res) {
46
- console.log(key, value);
47
+ console.log(key, value.getMeta());
48
+ let data = value.getData();
49
+ if (data) {
50
+ console.log(data.length);
51
+ }
47
52
  }
48
- if (res.size == 0) {
49
- break;
50
- }
51
- await consumer.commit();
52
- }
53
- let assignment = await consumer.assignment();
54
- console.log(assignment);
55
- await consumer.seekToBeginning(assignment);
56
- assignment = await consumer.assignment();
57
- for (let i in assignment) {
58
- console.log("seek after:", assignment[i]);
53
+ // await consumer.commit();
59
54
  }
55
+ // let assignment = await consumer.assignment()
56
+ // console.log(assignment)
57
+ // await consumer.seekToBeginning(assignment)
58
+ // assignment = await consumer.assignment()
59
+ // for(let i in assignment) {
60
+ // console.log("seek after:", assignment[i])
61
+ // }
60
62
  await consumer.unsubscribe();
61
63
  }
62
64
  catch (e) {
@@ -0,0 +1,15 @@
1
+ {
2
+ "keep": {
3
+ "days": true,
4
+ "amount": 14
5
+ },
6
+ "auditLog": "logs/.007e668bb78549e9a304b8466671945ab2a1553e-audit.json",
7
+ "files": [
8
+ {
9
+ "date": 1730879164590,
10
+ "name": "logs/app-2024-11-06.log",
11
+ "hash": "89c5f60240fcafb40ab606fd462d1eed71e7499f6dfe9822b82b93e0e447b5dd"
12
+ }
13
+ ],
14
+ "hashType": "sha256"
15
+ }