@tdengine/websocket 3.2.2 → 3.3.0

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 (275) hide show
  1. package/lib/package.json +64 -0
  2. package/lib/src/client/retryConfig.d.ts +10 -0
  3. package/lib/src/client/retryConfig.d.ts.map +1 -0
  4. package/lib/src/client/retryConfig.js +46 -0
  5. package/lib/src/client/wsClient.d.ts +24 -7
  6. package/lib/src/client/wsClient.d.ts.map +1 -1
  7. package/lib/src/client/wsClient.js +164 -137
  8. package/lib/src/client/wsConnector.d.ts +55 -9
  9. package/lib/src/client/wsConnector.d.ts.map +1 -1
  10. package/lib/src/client/wsConnector.js +522 -102
  11. package/lib/src/client/wsConnectorPool.d.ts +5 -1
  12. package/lib/src/client/wsConnectorPool.d.ts.map +1 -1
  13. package/lib/src/client/wsConnectorPool.js +67 -52
  14. package/lib/src/client/wsEventCallback.d.ts +3 -0
  15. package/lib/src/client/wsEventCallback.d.ts.map +1 -1
  16. package/lib/src/client/wsEventCallback.js +67 -8
  17. package/lib/src/client/wsResponse.d.ts +0 -3
  18. package/lib/src/client/wsResponse.d.ts.map +1 -1
  19. package/lib/src/client/wsResponse.js +0 -3
  20. package/lib/src/common/addressConnectionTracker.d.ts +11 -0
  21. package/lib/src/common/addressConnectionTracker.d.ts.map +1 -0
  22. package/lib/src/common/addressConnectionTracker.js +53 -0
  23. package/lib/src/common/config.d.ts +3 -0
  24. package/lib/src/common/config.d.ts.map +1 -1
  25. package/lib/src/common/config.js +6 -0
  26. package/lib/src/common/constant.d.ts +1 -0
  27. package/lib/src/common/constant.d.ts.map +1 -1
  28. package/lib/src/common/constant.js +6 -1
  29. package/lib/src/common/dsn.d.ts +30 -0
  30. package/lib/src/common/dsn.d.ts.map +1 -0
  31. package/lib/src/common/dsn.js +221 -0
  32. package/lib/src/common/taosResult.d.ts.map +1 -1
  33. package/lib/src/common/taosResult.js +0 -5
  34. package/lib/src/common/urlParser.d.ts +32 -0
  35. package/lib/src/common/urlParser.d.ts.map +1 -0
  36. package/lib/src/common/urlParser.js +201 -0
  37. package/lib/src/common/utils.d.ts +6 -1
  38. package/lib/src/common/utils.d.ts.map +1 -1
  39. package/lib/src/common/utils.js +74 -22
  40. package/lib/src/index.d.ts.map +1 -1
  41. package/lib/src/sql/wsSql.d.ts.map +1 -1
  42. package/lib/src/sql/wsSql.js +2 -2
  43. package/lib/src/stmt/FieldBindParams.d.ts.map +1 -1
  44. package/lib/src/stmt/wsColumnInfo.d.ts.map +1 -1
  45. package/lib/src/stmt/wsParams1.d.ts.map +1 -1
  46. package/lib/src/stmt/wsParams1.js +26 -26
  47. package/lib/src/stmt/wsParams2.d.ts.map +1 -1
  48. package/lib/src/stmt/wsParams2.js +0 -3
  49. package/lib/src/stmt/wsParamsBase.d.ts.map +1 -1
  50. package/lib/src/stmt/wsProto.d.ts.map +1 -1
  51. package/lib/src/stmt/wsProto.js +16 -16
  52. package/lib/src/stmt/wsStmt1.d.ts.map +1 -1
  53. package/lib/src/stmt/wsStmt2.d.ts +12 -4
  54. package/lib/src/stmt/wsStmt2.d.ts.map +1 -1
  55. package/lib/src/stmt/wsStmt2.js +182 -64
  56. package/lib/src/stmt/wsTableInfo.d.ts.map +1 -1
  57. package/lib/src/tmq/config.d.ts +4 -2
  58. package/lib/src/tmq/config.d.ts.map +1 -1
  59. package/lib/src/tmq/config.js +30 -13
  60. package/lib/src/tmq/constant.d.ts +4 -0
  61. package/lib/src/tmq/constant.d.ts.map +1 -1
  62. package/lib/src/tmq/constant.js +4 -0
  63. package/lib/src/tmq/tmqResponse.d.ts.map +1 -1
  64. package/lib/src/tmq/tmqResponse.js +1 -4
  65. package/lib/src/tmq/wsTmq.d.ts +4 -1
  66. package/lib/src/tmq/wsTmq.d.ts.map +1 -1
  67. package/lib/src/tmq/wsTmq.js +55 -27
  68. package/lib/test/bulkPulling/a.test.d.ts +2 -0
  69. package/lib/test/bulkPulling/a.test.d.ts.map +1 -0
  70. package/lib/test/bulkPulling/a.test.js +166 -0
  71. package/lib/test/bulkPulling/cloud.tmq.test.js +3 -2
  72. package/lib/test/bulkPulling/decimal.test.js +8 -8
  73. package/lib/test/bulkPulling/dsn.test.d.ts +2 -0
  74. package/lib/test/bulkPulling/dsn.test.d.ts.map +1 -0
  75. package/lib/test/bulkPulling/dsn.test.js +397 -0
  76. package/lib/test/bulkPulling/queryTables.test.js +1 -1
  77. package/lib/test/bulkPulling/retryConfig.test.d.ts +2 -0
  78. package/lib/test/bulkPulling/retryConfig.test.d.ts.map +1 -0
  79. package/lib/test/bulkPulling/retryConfig.test.js +34 -0
  80. package/lib/test/bulkPulling/schemaless.test.js +15 -14
  81. package/lib/test/bulkPulling/sql.failover.test.d.ts +2 -0
  82. package/lib/test/bulkPulling/sql.failover.test.d.ts.map +1 -0
  83. package/lib/test/bulkPulling/sql.failover.test.js +338 -0
  84. package/lib/test/bulkPulling/sql.test.js +116 -44
  85. package/lib/test/bulkPulling/stmt1.func.test.js +31 -30
  86. package/lib/test/bulkPulling/stmt1.type.test.js +1 -1
  87. package/lib/test/bulkPulling/stmt2.failover.test.d.ts +2 -0
  88. package/lib/test/bulkPulling/stmt2.failover.test.d.ts.map +1 -0
  89. package/lib/test/bulkPulling/stmt2.failover.test.js +313 -0
  90. package/lib/test/bulkPulling/stmt2.func.test.js +37 -36
  91. package/lib/test/bulkPulling/stmt2.init.failover.test.d.ts +2 -0
  92. package/lib/test/bulkPulling/stmt2.init.failover.test.d.ts.map +1 -0
  93. package/lib/test/bulkPulling/stmt2.init.failover.test.js +50 -0
  94. package/lib/test/bulkPulling/stmt2.type.test.js +1 -1
  95. package/lib/test/bulkPulling/tmq.config.test.d.ts +2 -0
  96. package/lib/test/bulkPulling/tmq.config.test.d.ts.map +1 -0
  97. package/lib/test/bulkPulling/tmq.config.test.js +77 -0
  98. package/lib/test/bulkPulling/tmq.failover.test.d.ts +2 -0
  99. package/lib/test/bulkPulling/tmq.failover.test.d.ts.map +1 -0
  100. package/lib/test/bulkPulling/tmq.failover.test.js +404 -0
  101. package/lib/test/bulkPulling/tmq.test.js +135 -14
  102. package/lib/test/bulkPulling/urlParser.test.d.ts +2 -0
  103. package/lib/test/bulkPulling/urlParser.test.d.ts.map +1 -0
  104. package/lib/test/bulkPulling/urlParser.test.js +452 -0
  105. package/lib/test/bulkPulling/wsClient.reconnect.integration.test.d.ts +2 -0
  106. package/lib/test/bulkPulling/wsClient.reconnect.integration.test.d.ts.map +1 -0
  107. package/lib/test/bulkPulling/wsClient.reconnect.integration.test.js +184 -0
  108. package/lib/test/bulkPulling/wsClient.recovery.test.d.ts +2 -0
  109. package/lib/test/bulkPulling/wsClient.recovery.test.d.ts.map +1 -0
  110. package/lib/test/bulkPulling/wsClient.recovery.test.js +104 -0
  111. package/lib/test/bulkPulling/wsConfig.dsn.test.d.ts +2 -0
  112. package/lib/test/bulkPulling/wsConfig.dsn.test.d.ts.map +1 -0
  113. package/lib/test/bulkPulling/wsConfig.dsn.test.js +39 -0
  114. package/lib/test/bulkPulling/wsConnectPool.test.js +7 -7
  115. package/lib/test/bulkPulling/wsConnector.failover.test.d.ts +2 -0
  116. package/lib/test/bulkPulling/wsConnector.failover.test.d.ts.map +1 -0
  117. package/lib/test/bulkPulling/wsConnector.failover.test.js +497 -0
  118. package/lib/test/bulkPulling/wsConnectorPool.key.test.d.ts +2 -0
  119. package/lib/test/bulkPulling/wsConnectorPool.key.test.d.ts.map +1 -0
  120. package/lib/test/bulkPulling/wsConnectorPool.key.test.js +52 -0
  121. package/lib/test/bulkPulling/wsConnectorPool.keyAuth.test.d.ts +2 -0
  122. package/lib/test/bulkPulling/wsConnectorPool.keyAuth.test.d.ts.map +1 -0
  123. package/lib/test/bulkPulling/wsConnectorPool.keyAuth.test.js +28 -0
  124. package/lib/test/bulkPulling/wsEventCallback.test.d.ts +2 -0
  125. package/lib/test/bulkPulling/wsEventCallback.test.d.ts.map +1 -0
  126. package/lib/test/bulkPulling/wsEventCallback.test.js +54 -0
  127. package/lib/test/bulkPulling/wsProxy.failover.integration.test.d.ts +2 -0
  128. package/lib/test/bulkPulling/wsProxy.failover.integration.test.d.ts.map +1 -0
  129. package/lib/test/bulkPulling/wsProxy.failover.integration.test.js +120 -0
  130. package/lib/test/bulkPulling/wsProxy.failover.test.d.ts +2 -0
  131. package/lib/test/bulkPulling/wsProxy.failover.test.d.ts.map +1 -0
  132. package/lib/test/bulkPulling/wsProxy.failover.test.js +465 -0
  133. package/lib/test/client/wsClient.recovery.test.d.ts +2 -0
  134. package/lib/test/client/wsClient.recovery.test.d.ts.map +1 -0
  135. package/lib/test/client/wsClient.recovery.test.js +122 -0
  136. package/lib/test/client/wsConnectPool.test.d.ts +2 -0
  137. package/lib/test/client/wsConnectPool.test.d.ts.map +1 -0
  138. package/lib/test/client/wsConnectPool.test.js +147 -0
  139. package/lib/test/client/wsConnector.failover.test.d.ts +2 -0
  140. package/lib/test/client/wsConnector.failover.test.d.ts.map +1 -0
  141. package/lib/test/client/wsConnector.failover.test.js +681 -0
  142. package/lib/test/client/wsConnector.leastConnections.test.d.ts +2 -0
  143. package/lib/test/client/wsConnector.leastConnections.test.d.ts.map +1 -0
  144. package/lib/test/client/wsConnector.leastConnections.test.js +71 -0
  145. package/lib/test/client/wsConnectorPool.key.test.d.ts +2 -0
  146. package/lib/test/client/wsConnectorPool.key.test.d.ts.map +1 -0
  147. package/lib/test/client/wsConnectorPool.key.test.js +127 -0
  148. package/lib/test/client/wsEventCallback.test.d.ts +2 -0
  149. package/lib/test/client/wsEventCallback.test.d.ts.map +1 -0
  150. package/lib/test/client/wsEventCallback.test.js +98 -0
  151. package/lib/test/common/addressConnectionTracker.test.d.ts +2 -0
  152. package/lib/test/common/addressConnectionTracker.test.d.ts.map +1 -0
  153. package/lib/test/common/addressConnectionTracker.test.js +74 -0
  154. package/lib/test/common/dsn.test.d.ts +2 -0
  155. package/lib/test/common/dsn.test.d.ts.map +1 -0
  156. package/lib/test/common/dsn.test.js +406 -0
  157. package/lib/test/common/log.test.d.ts +2 -0
  158. package/lib/test/common/log.test.d.ts.map +1 -0
  159. package/lib/test/common/log.test.js +54 -0
  160. package/lib/test/common/utils.test.d.ts +2 -0
  161. package/lib/test/common/utils.test.d.ts.map +1 -0
  162. package/lib/test/common/utils.test.js +13 -0
  163. package/lib/test/common/wsConfig.dsn.test.d.ts +2 -0
  164. package/lib/test/common/wsConfig.dsn.test.d.ts.map +1 -0
  165. package/lib/test/common/wsConfig.dsn.test.js +39 -0
  166. package/lib/test/helpers/utils.d.ts +27 -0
  167. package/lib/test/helpers/utils.d.ts.map +1 -0
  168. package/lib/test/helpers/utils.js +341 -0
  169. package/lib/test/helpers/wsFailoverProxy.d.ts +109 -0
  170. package/lib/test/helpers/wsFailoverProxy.d.ts.map +1 -0
  171. package/lib/test/helpers/wsFailoverProxy.js +420 -0
  172. package/lib/test/helpers/wsProxy.d.ts +110 -0
  173. package/lib/test/helpers/wsProxy.d.ts.map +1 -0
  174. package/lib/test/helpers/wsProxy.js +429 -0
  175. package/lib/test/sql/core/decimal.test.d.ts +2 -0
  176. package/lib/test/sql/core/decimal.test.d.ts.map +1 -0
  177. package/lib/test/sql/core/decimal.test.js +153 -0
  178. package/lib/test/sql/core/queryTables.test.d.ts +2 -0
  179. package/lib/test/sql/core/queryTables.test.d.ts.map +1 -0
  180. package/lib/test/sql/core/queryTables.test.js +506 -0
  181. package/lib/test/sql/core/schemaless.test.d.ts +2 -0
  182. package/lib/test/sql/core/schemaless.test.d.ts.map +1 -0
  183. package/lib/test/sql/core/schemaless.test.js +102 -0
  184. package/lib/test/sql/core/sql.test.d.ts +2 -0
  185. package/lib/test/sql/core/sql.test.d.ts.map +1 -0
  186. package/lib/test/sql/core/sql.test.js +324 -0
  187. package/lib/test/sql/decimal.test.d.ts +2 -0
  188. package/lib/test/sql/decimal.test.d.ts.map +1 -0
  189. package/lib/test/sql/decimal.test.js +153 -0
  190. package/lib/test/sql/failover/sql.failover.test.d.ts +2 -0
  191. package/lib/test/sql/failover/sql.failover.test.d.ts.map +1 -0
  192. package/lib/test/sql/failover/sql.failover.test.js +341 -0
  193. package/lib/test/sql/queryTables.test.d.ts +2 -0
  194. package/lib/test/sql/queryTables.test.d.ts.map +1 -0
  195. package/lib/test/sql/queryTables.test.js +506 -0
  196. package/lib/test/sql/schemaless.test.d.ts +2 -0
  197. package/lib/test/sql/schemaless.test.d.ts.map +1 -0
  198. package/lib/test/sql/schemaless.test.js +102 -0
  199. package/lib/test/sql/sql.failover.test.d.ts +2 -0
  200. package/lib/test/sql/sql.failover.test.d.ts.map +1 -0
  201. package/lib/test/sql/sql.failover.test.js +341 -0
  202. package/lib/test/sql/sql.test.d.ts +2 -0
  203. package/lib/test/sql/sql.test.d.ts.map +1 -0
  204. package/lib/test/sql/sql.test.js +324 -0
  205. package/lib/test/stmt/failover/stmt2.failover.mock.test.d.ts +2 -0
  206. package/lib/test/stmt/failover/stmt2.failover.mock.test.d.ts.map +1 -0
  207. package/lib/test/stmt/failover/stmt2.failover.mock.test.js +341 -0
  208. package/lib/test/stmt/failover/stmt2.failover.test.d.ts +2 -0
  209. package/lib/test/stmt/failover/stmt2.failover.test.d.ts.map +1 -0
  210. package/lib/test/stmt/failover/stmt2.failover.test.js +384 -0
  211. package/lib/test/stmt/stmt1.func.test.d.ts +2 -0
  212. package/lib/test/stmt/stmt1.func.test.d.ts.map +1 -0
  213. package/lib/test/stmt/stmt1.func.test.js +418 -0
  214. package/lib/test/stmt/stmt1.type.test.d.ts +2 -0
  215. package/lib/test/stmt/stmt1.type.test.d.ts.map +1 -0
  216. package/lib/test/stmt/stmt1.type.test.js +399 -0
  217. package/lib/test/stmt/stmt2.failover.mock.test.d.ts +2 -0
  218. package/lib/test/stmt/stmt2.failover.mock.test.d.ts.map +1 -0
  219. package/lib/test/stmt/stmt2.failover.mock.test.js +341 -0
  220. package/lib/test/stmt/stmt2.failover.test.d.ts +2 -0
  221. package/lib/test/stmt/stmt2.failover.test.d.ts.map +1 -0
  222. package/lib/test/stmt/stmt2.failover.test.js +384 -0
  223. package/lib/test/stmt/stmt2.func.test.d.ts +2 -0
  224. package/lib/test/stmt/stmt2.func.test.d.ts.map +1 -0
  225. package/lib/test/stmt/stmt2.func.test.js +537 -0
  226. package/lib/test/stmt/stmt2.type.test.d.ts +2 -0
  227. package/lib/test/stmt/stmt2.type.test.d.ts.map +1 -0
  228. package/lib/test/stmt/stmt2.type.test.js +401 -0
  229. package/lib/test/stmt/v1/stmt1.func.test.d.ts +2 -0
  230. package/lib/test/stmt/v1/stmt1.func.test.d.ts.map +1 -0
  231. package/lib/test/stmt/v1/stmt1.func.test.js +418 -0
  232. package/lib/test/stmt/v1/stmt1.type.test.d.ts +2 -0
  233. package/lib/test/stmt/v1/stmt1.type.test.d.ts.map +1 -0
  234. package/lib/test/stmt/v1/stmt1.type.test.js +399 -0
  235. package/lib/test/stmt/v2/stmt2.func.test.d.ts +2 -0
  236. package/lib/test/stmt/v2/stmt2.func.test.d.ts.map +1 -0
  237. package/lib/test/stmt/v2/stmt2.func.test.js +537 -0
  238. package/lib/test/stmt/v2/stmt2.type.test.d.ts +2 -0
  239. package/lib/test/stmt/v2/stmt2.type.test.d.ts.map +1 -0
  240. package/lib/test/stmt/v2/stmt2.type.test.js +401 -0
  241. package/lib/test/tmq/cloud/cloud.tmq.test.d.ts +2 -0
  242. package/lib/test/tmq/cloud/cloud.tmq.test.d.ts.map +1 -0
  243. package/lib/test/tmq/cloud/cloud.tmq.test.js +84 -0
  244. package/lib/test/tmq/cloud/tmq.cloud.test.d.ts +2 -0
  245. package/lib/test/tmq/cloud/tmq.cloud.test.d.ts.map +1 -0
  246. package/lib/test/tmq/cloud/tmq.cloud.test.js +82 -0
  247. package/lib/test/tmq/core/tmq.config.test.d.ts +2 -0
  248. package/lib/test/tmq/core/tmq.config.test.d.ts.map +1 -0
  249. package/lib/test/tmq/core/tmq.config.test.js +83 -0
  250. package/lib/test/tmq/core/tmq.test.d.ts +2 -0
  251. package/lib/test/tmq/core/tmq.test.d.ts.map +1 -0
  252. package/lib/test/tmq/core/tmq.test.js +513 -0
  253. package/lib/test/tmq/failover/tmq.failover.test.d.ts +2 -0
  254. package/lib/test/tmq/failover/tmq.failover.test.d.ts.map +1 -0
  255. package/lib/test/tmq/failover/tmq.failover.test.js +404 -0
  256. package/lib/test/tmq/tmq.cloud.test.d.ts +2 -0
  257. package/lib/test/tmq/tmq.cloud.test.d.ts.map +1 -0
  258. package/lib/test/tmq/tmq.cloud.test.js +82 -0
  259. package/lib/test/tmq/tmq.config.test.d.ts +2 -0
  260. package/lib/test/tmq/tmq.config.test.d.ts.map +1 -0
  261. package/lib/test/tmq/tmq.config.test.js +94 -0
  262. package/lib/test/tmq/tmq.failover.test.d.ts +2 -0
  263. package/lib/test/tmq/tmq.failover.test.d.ts.map +1 -0
  264. package/lib/test/tmq/tmq.failover.test.js +404 -0
  265. package/lib/test/tmq/tmq.test.d.ts +2 -0
  266. package/lib/test/tmq/tmq.test.d.ts.map +1 -0
  267. package/lib/test/tmq/tmq.test.js +513 -0
  268. package/lib/test/unit/connectionManager.test.d.ts +2 -0
  269. package/lib/test/unit/connectionManager.test.d.ts.map +1 -0
  270. package/lib/test/unit/connectionManager.test.js +91 -0
  271. package/lib/test/utils.d.ts +4 -0
  272. package/lib/test/utils.d.ts.map +1 -1
  273. package/lib/test/utils.js +11 -17
  274. package/package.json +1 -1
  275. package/readme.md +2 -2
@@ -14,6 +14,14 @@ const wsParams2_1 = require("./wsParams2");
14
14
  const wsTableInfo_1 = require("./wsTableInfo");
15
15
  const wsRows_1 = require("../sql/wsRows");
16
16
  const FieldBindParams_1 = require("./FieldBindParams");
17
+ var StmtStep;
18
+ (function (StmtStep) {
19
+ StmtStep[StmtStep["INIT"] = 0] = "INIT";
20
+ StmtStep[StmtStep["PREPARE"] = 1] = "PREPARE";
21
+ StmtStep[StmtStep["BIND"] = 2] = "BIND";
22
+ StmtStep[StmtStep["EXEC"] = 3] = "EXEC";
23
+ StmtStep[StmtStep["RESULT"] = 4] = "RESULT";
24
+ })(StmtStep || (StmtStep = {}));
17
25
  class WsStmt2 {
18
26
  constructor(wsClient, precision) {
19
27
  this._precision = constant_1.PrecisionLength["ms"];
@@ -30,11 +38,11 @@ class WsStmt2 {
30
38
  }
31
39
  static async newStmt(wsClient, precision, reqId) {
32
40
  try {
33
- let wsStmt = new WsStmt2(wsClient, precision);
41
+ const wsStmt = new WsStmt2(wsClient, precision);
34
42
  return await wsStmt.init(reqId);
35
43
  }
36
44
  catch (e) {
37
- log_1.default.error(`WsStmt init is failed, ${e.code}, ${e.message}`);
45
+ log_1.default.error(`WsStmt2 init failed, ${e.code}, ${e.message}`);
38
46
  throw e;
39
47
  }
40
48
  }
@@ -45,29 +53,45 @@ class WsStmt2 {
45
53
  await this._wsClient.connect();
46
54
  await this._wsClient.checkVersion();
47
55
  }
48
- let queryMsg = {
49
- action: "stmt2_init",
50
- args: {
51
- req_id: reqid_1.ReqId.getReqID(reqId),
52
- single_stb_insert: true,
53
- single_table_bind_once: true,
54
- },
55
- };
56
- await this.execute(queryMsg);
56
+ await this.doInit(reqId);
57
57
  return this;
58
58
  }
59
59
  catch (e) {
60
- log_1.default.error(`stmt init filed, ${e.code}, ${e.message}`);
60
+ if (this._wsClient.isNetworkError(e)) {
61
+ await this.recover(StmtStep.INIT);
62
+ return this;
63
+ }
64
+ log_1.default.error(`stmt2 init failed, ${e.code}, ${e.message}`);
61
65
  throw e;
62
66
  }
63
67
  }
64
- throw new wsError_1.TDWebSocketClientError(wsError_1.ErrorCode.ERR_CONNECTION_CLOSED, "stmt connect closed");
68
+ throw new wsError_1.TDWebSocketClientError(wsError_1.ErrorCode.ERR_CONNECTION_CLOSED, "stmt2 connect closed");
65
69
  }
66
- getStmtId() {
67
- return this._stmt_id;
70
+ async doInit(reqId) {
71
+ const msg = {
72
+ action: "stmt2_init",
73
+ args: {
74
+ req_id: reqid_1.ReqId.getReqID(reqId),
75
+ single_stb_insert: true,
76
+ single_table_bind_once: true,
77
+ },
78
+ };
79
+ await this.execute(msg);
68
80
  }
69
81
  async prepare(sql) {
70
- let queryMsg = {
82
+ this._savedSql = sql;
83
+ try {
84
+ await this.doPrepare(sql);
85
+ }
86
+ catch (err) {
87
+ if (!this._wsClient.isNetworkError(err)) {
88
+ throw err;
89
+ }
90
+ await this.recover(StmtStep.PREPARE);
91
+ }
92
+ }
93
+ async doPrepare(sql) {
94
+ const msg = {
71
95
  action: "stmt2_prepare",
72
96
  args: {
73
97
  req_id: reqid_1.ReqId.getReqID(),
@@ -76,14 +100,15 @@ class WsStmt2 {
76
100
  get_fields: true,
77
101
  },
78
102
  };
79
- let resp = await this.execute(queryMsg);
103
+ const resp = await this.execute(msg);
104
+ if (!resp) {
105
+ throw new wsError_1.TaosResultError(wsError_1.ErrorCode.ERR_INVALID_PARAMS, "stmt2_prepare response is empty");
106
+ }
80
107
  if (this._isInsert && this.fields) {
81
- this._precision = this.fields[0].precision
82
- ? this.fields[0].precision
83
- : 0;
108
+ this._precision = this.fields[0].precision ? this.fields[0].precision : 0;
84
109
  this._toBeBindColCount = 0;
85
110
  this._toBeBindTagCount = 0;
86
- this.fields?.forEach((field, index) => {
111
+ this.fields.forEach((field, index) => {
87
112
  if (field.bind_type == constant_1.FieldBindType.TAOS_FIELD_TBNAME) {
88
113
  this._toBeBindTableNameIndex = index;
89
114
  }
@@ -96,7 +121,7 @@ class WsStmt2 {
96
121
  });
97
122
  }
98
123
  else {
99
- if (resp && resp.fields_count && resp.fields_count > 0) {
124
+ if (resp.fields_count && resp.fields_count > 0) {
100
125
  this._stmtTableInfoList = [this._currentTableInfo];
101
126
  this._toBeBindColCount = resp.fields_count;
102
127
  }
@@ -109,7 +134,7 @@ class WsStmt2 {
109
134
  if (!tableName || tableName.length === 0) {
110
135
  throw new wsError_1.TaosResultError(wsError_1.ErrorCode.ERR_INVALID_PARAMS, "Table name cannot be empty");
111
136
  }
112
- let tableInfo = this._stmtTableInfo.get(tableName);
137
+ const tableInfo = this._stmtTableInfo.get(tableName);
113
138
  if (!tableInfo) {
114
139
  this._currentTableInfo = new wsTableInfo_1.TableInfo(tableName);
115
140
  this._stmtTableInfo.set(tableName, this._currentTableInfo);
@@ -144,22 +169,20 @@ class WsStmt2 {
144
169
  if (!paramsArray || !this._stmt_id || !paramsArray._fieldParams) {
145
170
  throw new wsError_1.TaosResultError(wsError_1.ErrorCode.ERR_INVALID_PARAMS, "Bind paramArray is invalid!");
146
171
  }
147
- if (this._isInsert &&
148
- this.fields &&
149
- paramsArray.getBindCount() == this.fields.length) {
172
+ if (this._isInsert && this.fields && paramsArray.getBindCount() == this.fields.length) {
150
173
  const tableNameIndex = this._toBeBindTableNameIndex;
151
174
  if (tableNameIndex === null || tableNameIndex === undefined) {
152
175
  throw new wsError_1.TaosResultError(wsError_1.ErrorCode.ERR_INVALID_PARAMS, "Table name index is null or undefined!");
153
176
  }
154
177
  const paramsCount = paramsArray._fieldParams[0].params.length;
155
178
  for (let i = 0; i < paramsCount; i++) {
156
- let tableName = paramsArray._fieldParams[tableNameIndex].params[i];
179
+ const tableName = paramsArray._fieldParams[tableNameIndex].params[i];
157
180
  await this.setTableName(tableName);
158
181
  for (let j = 0; j < paramsArray._fieldParams.length; j++) {
159
182
  if (j == tableNameIndex) {
160
183
  continue;
161
184
  }
162
- let fieldParam = paramsArray._fieldParams[j];
185
+ const fieldParam = paramsArray._fieldParams[j];
163
186
  if (this.fields[j].bind_type == constant_1.FieldBindType.TAOS_FIELD_TAG) {
164
187
  if (!this._currentTableInfo.tags) {
165
188
  this._currentTableInfo.tags = new wsParams2_1.Stmt2BindParams(this._toBeBindTagCount, this._precision, this.fields);
@@ -187,74 +210,172 @@ class WsStmt2 {
187
210
  if (!this._currentTableInfo) {
188
211
  throw new wsError_1.TaosResultError(wsError_1.ErrorCode.ERR_INVALID_PARAMS, "table info is empty!");
189
212
  }
190
- let params = this._currentTableInfo.getParams();
213
+ const params = this._currentTableInfo.getParams();
191
214
  if (!params) {
192
215
  throw new wsError_1.TaosResultError(wsError_1.ErrorCode.ERR_INVALID_PARAMS, "Bind params is empty!");
193
216
  }
194
- let reqId = BigInt(reqid_1.ReqId.getReqID());
195
- let bytes = (0, wsProto_1.stmt2BinaryBlockEncode)(reqId, this._stmtTableInfoList, this._stmt_id, this._toBeBindTableNameIndex, this._toBeBindTagCount, this._toBeBindColCount);
196
- await this.sendBinaryMsg(reqId, "stmt2_bind", new Uint8Array(bytes));
197
- let execMsg = {
217
+ const bytes = (0, wsProto_1.stmt2BinaryBlockEncode)(BigInt(reqid_1.ReqId.getReqID()), this._stmtTableInfoList, this._stmt_id, this._toBeBindTableNameIndex, this._toBeBindTagCount, this._toBeBindColCount);
218
+ this._savedBindBytes = bytes;
219
+ try {
220
+ await this.doSendBindBytes(bytes);
221
+ await this.doExec();
222
+ }
223
+ catch (err) {
224
+ if (!this._wsClient.isNetworkError(err)) {
225
+ throw err;
226
+ }
227
+ await this.recover(StmtStep.EXEC);
228
+ }
229
+ finally {
230
+ if (this._isInsert) {
231
+ this.cleanup({ keepSavedSql: true });
232
+ }
233
+ }
234
+ }
235
+ async doSendBindBytes(bytes) {
236
+ const reqId = new DataView(bytes).getBigUint64(0, true);
237
+ await this.sendBinaryMsg(reqId, "stmt2_bind", bytes);
238
+ }
239
+ async doExec() {
240
+ const msg = {
198
241
  action: "stmt2_exec",
199
242
  args: {
200
243
  req_id: reqid_1.ReqId.getReqID(),
201
244
  stmt_id: this._stmt_id,
202
245
  },
203
246
  };
204
- await this.execute(execMsg);
205
- this.cleanup();
206
- }
207
- cleanup() {
208
- this._stmtTableInfo.clear();
209
- this._stmtTableInfoList = [];
210
- this._currentTableInfo = new wsTableInfo_1.TableInfo();
211
- }
212
- getLastAffected() {
213
- return this.lastAffected;
247
+ await this.execute(msg);
214
248
  }
215
249
  async resultSet() {
216
- let execMsg = {
250
+ try {
251
+ return await this.doResult();
252
+ }
253
+ catch (err) {
254
+ if (!this._wsClient.isNetworkError(err)) {
255
+ throw err;
256
+ }
257
+ return await this.recover(StmtStep.RESULT);
258
+ }
259
+ finally {
260
+ this.cleanup({ keepSavedSql: true });
261
+ }
262
+ }
263
+ async doResult() {
264
+ const msg = {
217
265
  action: "stmt2_result",
218
266
  args: {
219
267
  req_id: reqid_1.ReqId.getReqID(),
220
268
  stmt_id: this._stmt_id,
221
269
  },
222
270
  };
223
- let resp = await this.execute(execMsg);
271
+ const resp = await this.execute(msg);
224
272
  if (!resp) {
225
273
  throw new wsError_1.TaosResultError(wsError_1.ErrorCode.ERR_INVALID_PARAMS, "ResultSet response is empty!");
226
274
  }
227
275
  return new wsRows_1.WSRows(this._wsClient, resp);
228
276
  }
229
277
  async close() {
230
- let queryMsg = {
278
+ const msg = {
231
279
  action: "stmt2_close",
232
280
  args: {
233
281
  req_id: reqid_1.ReqId.getReqID(),
234
282
  stmt_id: this._stmt_id,
235
283
  },
236
284
  };
237
- await this.execute(queryMsg);
285
+ try {
286
+ await this.execute(msg);
287
+ }
288
+ catch (err) {
289
+ log_1.default.warn("stmt2 close failed: " + err.message);
290
+ }
291
+ finally {
292
+ this.cleanup();
293
+ }
294
+ }
295
+ cleanup(opts) {
296
+ this._stmtTableInfo.clear();
297
+ this._stmtTableInfoList = [];
298
+ this._currentTableInfo = new wsTableInfo_1.TableInfo();
299
+ if (!opts?.keepSavedSql) {
300
+ this._savedSql = undefined;
301
+ }
302
+ this._savedBindBytes = undefined;
303
+ }
304
+ buildBindBytes() {
305
+ if (this._savedBindBytes === undefined) {
306
+ throw new wsError_1.TaosResultError(wsError_1.ErrorCode.ERR_INVALID_PARAMS, "bind bytes are missing for stmt2 rebuild");
307
+ }
308
+ if (this._stmt_id === undefined || this._stmt_id === null) {
309
+ throw new wsError_1.TaosResultError(wsError_1.ErrorCode.ERR_INVALID_PARAMS, "stmt_id is missing for stmt2 rebuild");
310
+ }
311
+ const bytes = this._savedBindBytes.slice(0);
312
+ const view = new DataView(bytes);
313
+ view.setBigUint64(0, BigInt(reqid_1.ReqId.getReqID()), true);
314
+ view.setBigUint64(8, this._stmt_id, true);
315
+ return bytes;
316
+ }
317
+ async recover(failedStep) {
318
+ const retries = this._wsClient.getReconnectRetries();
319
+ const maxAttempts = retries > 0 ? retries : 5;
320
+ for (let attempt = 1; attempt <= maxAttempts; attempt++) {
321
+ try {
322
+ await this._wsClient.waitForReady();
323
+ await this.doInit();
324
+ if (failedStep === StmtStep.INIT) {
325
+ return;
326
+ }
327
+ if (this._savedSql === undefined) {
328
+ throw new wsError_1.TaosResultError(wsError_1.ErrorCode.ERR_INVALID_PARAMS, "prepare SQL is missing for stmt2 rebuild");
329
+ }
330
+ await this.doPrepare(this._savedSql);
331
+ if (failedStep === StmtStep.PREPARE) {
332
+ return;
333
+ }
334
+ await this.doSendBindBytes(this.buildBindBytes());
335
+ if (failedStep === StmtStep.BIND) {
336
+ return;
337
+ }
338
+ await this.doExec();
339
+ if (failedStep === StmtStep.EXEC) {
340
+ return;
341
+ }
342
+ return await this.doResult();
343
+ }
344
+ catch (err) {
345
+ if (!this._wsClient.isNetworkError(err)) {
346
+ throw err;
347
+ }
348
+ if (attempt === maxAttempts) {
349
+ const recoverError = new wsError_1.TaosResultError(wsError_1.ErrorCode.ERR_WEBSOCKET_CONNECTION_FAIL, `stmt2 recover exceeded max attempts (${maxAttempts}) at step ${StmtStep[failedStep]}: ${err?.message || err}`);
350
+ recoverError.cause = err;
351
+ throw recoverError;
352
+ }
353
+ }
354
+ }
355
+ throw new wsError_1.TaosResultError(wsError_1.ErrorCode.ERR_WEBSOCKET_CONNECTION_FAIL, `stmt2 recover exited unexpectedly at step ${StmtStep[failedStep]}`);
356
+ }
357
+ getStmtId() {
358
+ return this._stmt_id;
359
+ }
360
+ getLastAffected() {
361
+ return this.lastAffected;
238
362
  }
239
363
  async execute(stmtMsg, register = true) {
240
364
  try {
241
- if (this._wsClient.getState() <= 0) {
242
- throw new wsError_1.TDWebSocketClientError(wsError_1.ErrorCode.ERR_CONNECTION_CLOSED, "websocket connect has closed!");
243
- }
244
- let reqMsg = json_bigint_1.default.stringify(stmtMsg);
365
+ const reqMsg = json_bigint_1.default.stringify(stmtMsg);
245
366
  if (register) {
246
- let result = await this._wsClient.exec(reqMsg, false);
247
- let resp = new wsProto_1.WsStmtQueryResponse(result);
248
- if (resp.stmt_id) {
367
+ const result = await this._wsClient.exec(reqMsg, false);
368
+ const resp = new wsProto_1.WsStmtQueryResponse(result);
369
+ if (resp.stmt_id !== undefined && resp.stmt_id !== null) {
249
370
  this._stmt_id = resp.stmt_id;
250
371
  }
251
- if (resp.affected) {
372
+ if (resp.affected !== undefined && resp.affected !== null) {
252
373
  this.lastAffected = resp.affected;
253
374
  }
254
- if (resp.fields) {
375
+ if (resp.fields !== undefined && resp.fields !== null) {
255
376
  this.fields = resp.fields;
256
377
  }
257
- if (resp.is_insert) {
378
+ if (resp.is_insert !== undefined && resp.is_insert !== null) {
258
379
  this._isInsert = resp.is_insert;
259
380
  }
260
381
  return resp;
@@ -268,15 +389,12 @@ class WsStmt2 {
268
389
  }
269
390
  }
270
391
  async sendBinaryMsg(reqId, action, message) {
271
- if (this._wsClient.getState() <= 0) {
272
- throw new wsError_1.TDWebSocketClientError(wsError_1.ErrorCode.ERR_CONNECTION_CLOSED, "websocket connect has closed!");
273
- }
274
- let result = await this._wsClient.sendBinaryMsg(reqId, action, message, false);
275
- let resp = new wsProto_1.WsStmtQueryResponse(result);
276
- if (resp.stmt_id) {
392
+ const result = await this._wsClient.sendBinaryMsg(reqId, action, message, false);
393
+ const resp = new wsProto_1.WsStmtQueryResponse(result);
394
+ if (resp.stmt_id !== undefined && resp.stmt_id !== null) {
277
395
  this._stmt_id = resp.stmt_id;
278
396
  }
279
- if (resp.affected) {
397
+ if (resp.affected !== undefined && resp.affected !== null) {
280
398
  this.lastAffected = resp.affected;
281
399
  }
282
400
  }
@@ -1 +1 @@
1
- {"version":3,"file":"wsTableInfo.d.ts","sourceRoot":"","sources":["../../../src/stmt/wsTableInfo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGhD,qBAAa,SAAS;IAClB,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC;IACpC,IAAI,EAAE,cAAc,GAAG,SAAS,GAAG,IAAI,CAAC;IACxC,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,MAAM,CAAK;IACnB,WAAW,cAAqB;gBACpB,IAAI,CAAC,EAAE,MAAM;IAOlB,YAAY,IAAI,UAAU,GAAG,SAAS,GAAG,IAAI;IAI7C,kBAAkB,IAAI,MAAM;IAI5B,OAAO,IAAI,cAAc,GAAG,SAAS,GAAG,IAAI;IAI5C,SAAS,IAAI,cAAc,GAAG,SAAS,GAAG,IAAI;IAI9C,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAWjC,OAAO,CAAC,WAAW,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAUnD,SAAS,CAAC,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAS7D"}
1
+ {"version":3,"file":"wsTableInfo.d.ts","sourceRoot":"","sources":["../../../src/stmt/wsTableInfo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,qBAAa,SAAS;IAClB,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC;IACpC,IAAI,EAAE,cAAc,GAAG,SAAS,GAAG,IAAI,CAAC;IACxC,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,MAAM,CAAK;IACnB,WAAW,cAAqB;gBAEpB,IAAI,CAAC,EAAE,MAAM;IAOlB,YAAY,IAAI,UAAU,GAAG,SAAS,GAAG,IAAI;IAI7C,kBAAkB,IAAI,MAAM;IAI5B,OAAO,IAAI,cAAc,GAAG,SAAS,GAAG,IAAI;IAI5C,SAAS,IAAI,cAAc,GAAG,SAAS,GAAG,IAAI;IAI9C,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAYjC,OAAO,CAAC,WAAW,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAWnD,SAAS,CAAC,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAS7D"}
@@ -1,8 +1,10 @@
1
+ import { Dsn } from "../common/dsn";
1
2
  export declare class TmqConfig {
2
- url: URL | null;
3
- sql_url: URL | null;
3
+ dsn: Dsn | null;
4
+ sqlDsn: Dsn | null;
4
5
  user: string | null;
5
6
  password: string | null;
7
+ token: string | null;
6
8
  group_id: string | null;
7
9
  client_id: string | null;
8
10
  offset_rest: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/tmq/config.ts"],"names":[],"mappings":"AAEA,qBAAa,SAAS;IAElB,GAAG,EAAE,GAAG,GAAG,IAAI,CAAQ;IACvB,OAAO,EAAE,GAAG,GAAG,IAAI,CAAQ;IAC3B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC/B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAChC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAClC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvB,WAAW,EAAE,OAAO,CAAQ;IAC5B,uBAAuB,EAAE,MAAM,CAAY;IAC3C,OAAO,EAAE,MAAM,CAAQ;IACvB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAEnB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC;CAqDzC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/tmq/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAA0B,MAAM,eAAe,CAAC;AAG5D,qBAAa,SAAS;IAClB,GAAG,EAAE,GAAG,GAAG,IAAI,CAAQ;IACvB,MAAM,EAAE,GAAG,GAAG,IAAI,CAAQ;IAC1B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC/B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC5B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAChC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAClC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvB,WAAW,EAAE,OAAO,CAAQ;IAC5B,uBAAuB,EAAE,MAAM,CAAY;IAC3C,OAAO,EAAE,MAAM,CAAS;IACxB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAEnB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC;CA4EzC"}
@@ -1,25 +1,27 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TmqConfig = void 0;
4
+ const dsn_1 = require("../common/dsn");
4
5
  const constant_1 = require("./constant");
5
6
  class TmqConfig {
6
7
  constructor(wsConfig) {
7
- // req_id: number;
8
- this.url = null;
9
- this.sql_url = null;
8
+ this.dsn = null;
9
+ this.sqlDsn = null;
10
10
  this.user = null;
11
11
  this.password = null;
12
+ this.token = null;
12
13
  this.group_id = null;
13
14
  this.client_id = null;
14
15
  this.offset_rest = null;
15
16
  this.auto_commit = true;
16
17
  this.auto_commit_interval_ms = 5 * 1000;
17
- this.timeout = 5000;
18
+ this.timeout = 60000;
18
19
  this.otherConfigs = new Map();
19
20
  for (const [key, value] of wsConfig) {
20
21
  switch (key) {
21
22
  case constant_1.TMQConstants.WS_URL:
22
- this.url = new URL(value);
23
+ this.dsn = (0, dsn_1.parse)(value);
24
+ this.dsn.endpoint = dsn_1.WS_TMQ_ENDPOINT;
23
25
  break;
24
26
  case constant_1.TMQConstants.CONNECT_USER:
25
27
  this.user = value;
@@ -27,6 +29,10 @@ class TmqConfig {
27
29
  case constant_1.TMQConstants.CONNECT_PASS:
28
30
  this.password = value;
29
31
  break;
32
+ case constant_1.TMQConstants.CONNECT_TOKEN:
33
+ this.token = value;
34
+ this.otherConfigs.set(key, value);
35
+ break;
30
36
  case constant_1.TMQConstants.GROUP_ID:
31
37
  this.group_id = value;
32
38
  break;
@@ -49,22 +55,33 @@ class TmqConfig {
49
55
  this.otherConfigs.set(key, value);
50
56
  }
51
57
  }
52
- if (this.url) {
58
+ if (this.dsn) {
53
59
  if (this.user) {
54
- this.url.username = this.user;
60
+ this.dsn.username = this.user;
55
61
  }
56
62
  else {
57
- this.user = this.url.username;
63
+ this.user = this.dsn.username;
58
64
  }
59
65
  if (this.password) {
60
- this.url.password = this.password;
66
+ this.dsn.password = this.password;
67
+ }
68
+ else {
69
+ this.password = this.dsn.password;
70
+ }
71
+ if (this.token) {
72
+ this.dsn.params.set("bearer_token", this.token);
61
73
  }
62
74
  else {
63
- this.password = this.url.password;
75
+ const bearerToken = this.dsn.params.get("bearer_token");
76
+ if (bearerToken) {
77
+ this.token = bearerToken;
78
+ this.otherConfigs.set(constant_1.TMQConstants.CONNECT_TOKEN, bearerToken);
79
+ }
80
+ else {
81
+ this.dsn.params.delete("bearer_token");
82
+ }
64
83
  }
65
- this.sql_url = new URL(this.url);
66
- this.sql_url.pathname = "/ws";
67
- this.url.pathname = "/rest/tmq";
84
+ this.sqlDsn = new dsn_1.Dsn(this.dsn.scheme, this.dsn.username, this.dsn.password, this.dsn.addresses, this.dsn.database, this.dsn.params);
68
85
  }
69
86
  }
70
87
  }
@@ -45,6 +45,10 @@ export declare class TMQConstants {
45
45
  * connection password
46
46
  */
47
47
  static CONNECT_PASS: string;
48
+ /**
49
+ * connection token
50
+ */
51
+ static CONNECT_TOKEN: string;
48
52
  /**
49
53
  * connect type websocket or jni, default is jni
50
54
  */
@@ -1 +1 @@
1
- {"version":3,"file":"constant.d.ts","sourceRoot":"","sources":["../../../src/tmq/constant.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAY;IACrB,OAAc,QAAQ,EAAE,MAAM,CAAc;IAE5C,OAAc,SAAS,EAAE,MAAM,CAAe;IAE9C;;OAEG;IACH,OAAc,kBAAkB,EAAE,MAAM,CAAwB;IAEhE;;OAEG;IACH,OAAc,uBAAuB,EAAE,MAAM,CAA6B;IAE1E;;OAEG;IACH,OAAc,iBAAiB,EAAE,MAAM,CAAuB;IAE9D;;OAEG;IACH,OAAc,mBAAmB,EAAE,MAAM,CAAyB;IAElE;;OAEG;IACH,OAAc,iBAAiB,EAAE,MAAM,CAAuB;IAE9D;;OAEG;IACH,OAAc,kBAAkB,EAAE,MAAM,CAAwB;IAEhE;;OAEG;IACH,OAAc,2BAA2B,EAAE,MAAM,CACf;IAElC;;OAEG;IACH,OAAc,UAAU,EAAE,MAAM,CAAmB;IAEnD;;OAEG;IACH,OAAc,YAAY,EAAE,MAAM,CAAqB;IAEvD;;OAEG;IACH,OAAc,YAAY,EAAE,MAAM,CAAqB;IAEvD;;OAEG;IACH,OAAc,YAAY,EAAE,MAAM,CAAqB;IAEvD;;OAEG;IACH,OAAc,YAAY,EAAE,MAAM,CAAqB;IAEvD;;;;OAIG;IACH,OAAc,MAAM,EAAE,MAAM,CAAY;IAExC;;;;OAIG;IACH,OAAc,eAAe,EAAE,MAAM,CAAwB;IAE7D;;;OAGG;IACH,OAAc,uBAAuB,EAAE,MAAM,CAAwB;CACxE;AAED,qBAAa,cAAc;IACvB,OAAc,SAAS,EAAE,MAAM,CAAe;IAC9C,OAAc,IAAI,EAAE,MAAM,CAAU;IACpC,OAAc,QAAQ,EAAE,MAAM,CAAe;IAC7C,OAAc,aAAa,EAAE,MAAM,CAAqB;IACxD,OAAc,MAAM,EAAE,MAAM,CAAY;IACxC,OAAc,WAAW,EAAE,MAAM,CAAiB;IAClD,OAAc,kBAAkB,EAAE,MAAM,CAAgB;IACxD,OAAc,IAAI,EAAE,MAAM,CAAU;IACpC,OAAc,YAAY,EAAE,MAAM,CAAmB;IACrD,OAAc,SAAS,EAAE,MAAM,CAAe;IAC9C,OAAc,QAAQ,EAAE,MAAM,CAAc;IAC5C,OAAc,UAAU,EAAE,MAAM,CAAiB;IACjD,OAAc,WAAW,EAAE,MAAM,CAAK;CACzC;AAED,qBAAa,YAAY;IACrB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;;CAItB;AAED,qBAAa,gBAAgB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;;CAUjB"}
1
+ {"version":3,"file":"constant.d.ts","sourceRoot":"","sources":["../../../src/tmq/constant.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAY;IACrB,OAAc,QAAQ,EAAE,MAAM,CAAc;IAE5C,OAAc,SAAS,EAAE,MAAM,CAAe;IAE9C;;OAEG;IACH,OAAc,kBAAkB,EAAE,MAAM,CAAwB;IAEhE;;OAEG;IACH,OAAc,uBAAuB,EAAE,MAAM,CAA6B;IAE1E;;OAEG;IACH,OAAc,iBAAiB,EAAE,MAAM,CAAuB;IAE9D;;OAEG;IACH,OAAc,mBAAmB,EAAE,MAAM,CAAyB;IAElE;;OAEG;IACH,OAAc,iBAAiB,EAAE,MAAM,CAAuB;IAE9D;;OAEG;IACH,OAAc,kBAAkB,EAAE,MAAM,CAAwB;IAEhE;;OAEG;IACH,OAAc,2BAA2B,EAAE,MAAM,CAAiC;IAElF;;OAEG;IACH,OAAc,UAAU,EAAE,MAAM,CAAmB;IAEnD;;OAEG;IACH,OAAc,YAAY,EAAE,MAAM,CAAqB;IAEvD;;OAEG;IACH,OAAc,YAAY,EAAE,MAAM,CAAqB;IAEvD;;OAEG;IACH,OAAc,YAAY,EAAE,MAAM,CAAqB;IAEvD;;OAEG;IACH,OAAc,aAAa,EAAE,MAAM,CAAsB;IAEzD;;OAEG;IACH,OAAc,YAAY,EAAE,MAAM,CAAqB;IAEvD;;;;OAIG;IACH,OAAc,MAAM,EAAE,MAAM,CAAY;IAExC;;;;OAIG;IACH,OAAc,eAAe,EAAE,MAAM,CAAwB;IAE7D;;;OAGG;IACH,OAAc,uBAAuB,EAAE,MAAM,CAAwB;CACxE;AAED,qBAAa,cAAc;IACvB,OAAc,SAAS,EAAE,MAAM,CAAe;IAC9C,OAAc,IAAI,EAAE,MAAM,CAAU;IACpC,OAAc,QAAQ,EAAE,MAAM,CAAe;IAC7C,OAAc,aAAa,EAAE,MAAM,CAAqB;IACxD,OAAc,MAAM,EAAE,MAAM,CAAY;IACxC,OAAc,WAAW,EAAE,MAAM,CAAiB;IAClD,OAAc,kBAAkB,EAAE,MAAM,CAAgB;IACxD,OAAc,IAAI,EAAE,MAAM,CAAU;IACpC,OAAc,YAAY,EAAE,MAAM,CAAmB;IACrD,OAAc,SAAS,EAAE,MAAM,CAAe;IAC9C,OAAc,QAAQ,EAAE,MAAM,CAAc;IAC5C,OAAc,UAAU,EAAE,MAAM,CAAiB;IACjD,OAAc,WAAW,EAAE,MAAM,CAAK;CACzC;AAED,qBAAa,YAAY;IACrB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;;CAItB;AAED,qBAAa,gBAAgB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;;CAUjB"}
@@ -50,6 +50,10 @@ TMQConstants.CONNECT_USER = "td.connect.user";
50
50
  * connection password
51
51
  */
52
52
  TMQConstants.CONNECT_PASS = "td.connect.pass";
53
+ /**
54
+ * connection token
55
+ */
56
+ TMQConstants.CONNECT_TOKEN = "td.connect.token";
53
57
  /**
54
58
  * connect type websocket or jni, default is jni
55
59
  */
@@ -1 +1 @@
1
- {"version":3,"file":"tmqResponse.d.ts","sourceRoot":"","sources":["../../../src/tmq/tmqResponse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tmqResponse.d.ts","sourceRoot":"","sources":["../../../src/tmq/tmqResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAMvD,OAAO,EACH,WAAW,EACX,UAAU,EAOb,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAI5D,qBAAa,cAAc;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;gBACN,IAAI,EAAE,WAAW;CAkBhC;AAGD,qBAAa,kBAAmB,SAAQ,eAAe;IACnD,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;gBAEP,IAAI,EAAE,WAAW;CAOhC;AAED,qBAAa,aAAc,SAAQ,UAAU;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;gBACN,QAAQ,EAAE,cAAc;CAMvC;AAED,qBAAa,mBAAmB;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IACjC,MAAM,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,WAAW,CAAC;gBACb,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU;IAU/C,OAAO,IAAI,MAAM;IAGxB,OAAO,CAAC,QAAQ;IAkBhB,OAAO,CAAC,WAAW;IAenB,OAAO,CAAC,eAAe;IAkCvB,OAAO,CAAC,eAAe;IA+EvB,OAAO,CAAC,wBAAwB;IA2BhC,OAAO,CAAC,aAAa;CAkHxB;AAED,qBAAa,cAAc;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,cAAc,EAAE,CAAC;gBACrB,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM;CAY/C;AACD,qBAAa,gBAAgB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;gBACL,IAAI,EAAE,WAAW;CAShC;AAED,qBAAa,cAAc;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,EAAE,CAAC;gBACR,IAAI,EAAE,WAAW;IAY7B,kBAAkB,CAAC,eAAe,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE;CAY1E;AAED,qBAAa,aAAc,SAAQ,cAAc;gBACjC,IAAI,EAAE,WAAW;CAMhC;AAED,qBAAa,cAAc;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;gBACD,GAAG,EAAE,GAAG;CAOvB"}
@@ -96,13 +96,10 @@ class WSTmqFetchBlockInfo {
96
96
  }
97
97
  this.withTableName = dataView.getUint8(4) == 1 ? true : false;
98
98
  this.withSchema = dataView.getUint8(5) == 1 ? true : false;
99
- // let dataBuffer = dataView.buffer.slice(6)
100
99
  let dataBuffer = new DataView(dataView.buffer, dataView.byteOffset + 6);
101
100
  let rows = 0;
102
- // const parseStartTime = new Date().getTime();
103
- // console.log("parseBlockInfos blockNum="+ blockNum)
104
101
  for (let i = 0; i < blockNum; i++) {
105
- let variableInfo = this.parseVariableByteInteger(dataBuffer);
102
+ const variableInfo = this.parseVariableByteInteger(dataBuffer);
106
103
  this.taosResult.setPrecision(variableInfo[1].getUint8(17));
107
104
  dataView = new DataView(variableInfo[1].buffer, variableInfo[1].byteOffset + 17);
108
105
  let offset = variableInfo[0] - 17;
@@ -2,13 +2,16 @@ import { TaosResult } from "../common/taosResult";
2
2
  import { TopicPartition } from "./tmqResponse";
3
3
  export declare class WsConsumer {
4
4
  private _wsClient;
5
- private _wsConfig;
5
+ private _config;
6
6
  private _topics?;
7
7
  private _commitTime?;
8
8
  private _lastMessageID?;
9
9
  private constructor();
10
10
  private init;
11
11
  static newConsumer(wsConfig: Map<string, any>): Promise<WsConsumer>;
12
+ private bindSessionRecoveryHook;
13
+ private buildSubscribeMessage;
14
+ private recoverSessionContext;
12
15
  subscribe(topics: Array<string>, reqId?: number): Promise<void>;
13
16
  unsubscribe(reqId?: number): Promise<void>;
14
17
  poll(timeoutMs: number, reqId?: number): Promise<Map<string, TaosResult>>;
@@ -1 +1 @@
1
- {"version":3,"file":"wsTmq.d.ts","sourceRoot":"","sources":["../../../src/tmq/wsTmq.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAOlD,OAAO,EAMH,cAAc,EAIjB,MAAM,eAAe,CAAC;AAKvB,qBAAa,UAAU;IACnB,OAAO,CAAC,SAAS,CAAW;IAC5B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,OAAO,CAAC,CAAW;IAC3B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO;YAgBO,IAAI;WA4BL,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAWnE,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B/D,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU1C,IAAI,CACN,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAgB7B,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAYpD,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAK9C,QAAQ;IAYhB,SAAS,CACX,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,EACjC,KAAK,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAgC3B,aAAa,CACf,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,GAClC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAe3B,YAAY,CACd,SAAS,EAAE,cAAc,EACzB,KAAK,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IAoBV,SAAS,CACX,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,EACjC,KAAK,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IA4B3B,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB9D,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAUjE,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAId,cAAc;YAgCd,QAAQ;YAsCR,iBAAiB;IAgBzB,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAoBrD,gBAAgB;CAmCjC"}
1
+ {"version":3,"file":"wsTmq.d.ts","sourceRoot":"","sources":["../../../src/tmq/wsTmq.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAOlD,OAAO,EAMH,cAAc,EAGjB,MAAM,eAAe,CAAC;AAOvB,qBAAa,UAAU;IACnB,OAAO,CAAC,SAAS,CAAW;IAC5B,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,OAAO,CAAC,CAAW;IAC3B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,cAAc,CAAC,CAAS;IAEhC,OAAO;YAgBO,IAAI;WAyBL,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAWzE,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,qBAAqB;YA0Bf,qBAAqB;IAa7B,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa/D,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW1C,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAgBzE,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAWpD,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAK9C,QAAQ;IAWhB,SAAS,CACX,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,EACjC,KAAK,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAgC3B,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAehF,YAAY,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBtE,SAAS,CACX,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,EACjC,KAAK,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IA4B3B,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB9D,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAUjE,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAU3D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAId,cAAc;YA+Bd,QAAQ;YAsCR,iBAAiB;IAgBzB,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAoBrD,gBAAgB;CAmCjC"}