• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

taosdata / TDengine / #4986

15 Mar 2026 08:32AM UTC coverage: 37.305% (-31.3%) from 68.601%
#4986

push

travis-ci

tomchon
test: keep docs and unit test

125478 of 336361 relevant lines covered (37.3%)

1134847.06 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/source/common/src/msg/xnode.c
1
/*
2
 * Copyright (c) 2019 TAOS Data, Inc. <jhtao@taosdata.com>
3
 *
4
 * This program is free software: you can use, redistribute, and/or modify
5
 * it under the terms of the GNU Affero General Public License, version 3
6
 * or later ("AGPL"), as published by the Free Software Foundation.
7
 *
8
 * This program is distributed in the hope that it will be useful, but WITHOUT
9
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10
 * FITNESS FOR A PARTICULAR PURPOSE.
11
 *
12
 * You should have received a copy of the GNU Affero General Public License
13
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
14
 */
15

16
#define _DEFAULT_SOURCE
17

18
#include <stdint.h>
19
#include <stdio.h>
20
#include "osMemPool.h"
21
#include "osMemory.h"
22
#include "taoserror.h"
23
#include "tencode.h"
24
#include "tmsg.h"
25
#include "tutil.h"
26

27
CowStr xCreateCowStr(int32_t len, const char *ptr, bool shouldClone) {
×
28
  CowStr cow = {0};
×
29
  if (NULL == ptr) {
×
30
    return cow;
×
31
  }
32
  if (shouldClone) {
×
33
    cow.len = len;
×
34
    cow.ptr = taosMemoryCalloc(1, len + 1);
×
35
    if (cow.ptr == NULL) {
×
36
      cow.len = 0;
×
37
      return cow;
×
38
    }
39
    (void)memcpy((void*)cow.ptr, ptr, len);
×
40
    ((char*)cow.ptr)[len] = '\0';
×
41
    cow.shouldFree = true;
×
42
  } else {
43
    cow.len = len;
×
44
    cow.ptr = ptr;
×
45
    cow.shouldFree = false;
×
46
  }
47
  return cow;
×
48
}
49
void xSetCowStr(CowStr *cow, int32_t len, const char *ptr, bool shouldFree) {
×
50
  if (cow == NULL) {
×
51
    return;
×
52
  }
53
  if (NULL == ptr) {
×
54
    xFreeCowStr(cow);
×
55
    return;
×
56
  }
57
  cow->len = len;
×
58
  cow->ptr = taosMemoryCalloc(1, len + 1);
×
59
  if (cow->ptr == NULL) {
×
60
    cow->len = 0;
×
61
    return;
×
62
  }
63
  (void)memcpy((void*)cow->ptr, ptr, len);
×
64
  ((char*)cow->ptr)[len] = '\0';
×
65
  cow->shouldFree = shouldFree;
×
66
}
67
CowStr xCloneRefCowStr(CowStr *cow) {
×
68
  CowStr ref = {0};
×
69
  if (cow == NULL) {
×
70
    return ref;
×
71
  }
72
  ref.len = cow->len;
×
73
  ref.ptr = cow->ptr;
×
74
  ref.shouldFree = false;
×
75
  return ref;
×
76
}
77

78
char *xCowStrToStr(CowStr *cow) { return taosStrndupi(cow->ptr, (int64_t)cow->len); }
×
79
void xFreeCowStr(CowStr *cow) {
×
80
  // printf("Free CowStr: cow=%p, ptr=%p, len=%d, shouldFree=%d\n", cow, cow->ptr, cow->len, cow->shouldFree);
81
  if (cow == NULL) {
×
82
    return;
×
83
  }
84
  if (cow->shouldFree && cow->ptr != NULL) {
×
85
    taosMemoryFreeClear(cow->ptr);
×
86
    cow->ptr = NULL;
×
87
  }
88
  cow->len = 0;
×
89
  cow->ptr = NULL;
×
90
  cow->shouldFree = false;
×
91
}
92
int32_t xEncodeCowStr(SEncoder *encoder, CowStr *cow) {
×
93
  if (cow->ptr == NULL) {
×
94
    return tEncodeU32v(encoder, 0);
×
95
  }
96
  return tEncodeBinary(encoder, (uint8_t*)cow->ptr, cow->len + 1);
×
97
}
98
int32_t xDecodeCowStr(SDecoder *decoder, CowStr *cow, bool shouldClone) {
×
99
  if (decoder == NULL || cow == NULL) {
×
100
    return TSDB_CODE_MND_XNODE_INVALID_MSG;
×
101
  }
102
  int32_t code = 0;
×
103
  int32_t  lino = 0;
×
104

105
  if (shouldClone) {
×
106
    uint64_t len = 0;
×
107
    TAOS_CHECK_EXIT(tDecodeBinaryAlloc(decoder, (void**)&cow->ptr, &len));
×
108
    cow->len = (int32_t)len - 1;
×
109
    cow->shouldFree = true;
×
110
  } else {
111
    TAOS_CHECK_EXIT(tDecodeBinary(decoder, (uint8_t**)&cow->ptr, (uint32_t *)&cow->len));
×
112
    cow->len -= 1;
×
113
    cow->shouldFree = false;
×
114
  }
115
_exit:
×
116
  return code;
×
117
}
118
// #define DECODESQL()                                                               \
119
//   do {                                                                            \
120
//     if (!tDecodeIsEnd(&decoder)) {                                                \
121
//       TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->sqlLen));                       \
122
//       if (pReq->sqlLen > 0) {                                                     \
123
//         TAOS_CHECK_EXIT(tDecodeBinaryAlloc(&decoder, (void **)&pReq->sql, NULL)); \
124
//       }                                                                           \
125
//     }                                                                             \
126
//   } while (0)
127

128
// #define ENCODESQL()                                                                       \
129
//   do {                                                                                    \
130
//     TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->sqlLen));                                  \
131
//     if (pReq->sqlLen > 0) {                                                               \
132
//       TAOS_CHECK_EXIT(tEncodeBinary(&encoder, (const uint8_t *)pReq->sql, pReq->sqlLen)); \
133
//     }                                                                                     \
134
//   } while (0)
135

136
// #define FREESQL()                \
137
//   do {                           \
138
//     if (pReq->sql != NULL) {     \
139
//       taosMemoryFree(pReq->sql); \
140
//     }                            \
141
//     pReq->sql = NULL;            \
142
//   } while (0)
143

144
int32_t tSerializeSMCreateXnodeReq(void *buf, int32_t bufLen, SMCreateXnodeReq *pReq) {
×
145
  SEncoder encoder = {0};
×
146
  int32_t  code = 0;
×
147
  int32_t  lino = 0;
×
148
  int32_t  tlen = 0;
×
149
  tEncoderInit(&encoder, buf, bufLen);
×
150

151
  TAOS_CHECK_EXIT(tStartEncode(&encoder));
×
152
  ENCODESQL();
×
153

154
  TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->urlLen));
×
155
  if (pReq->urlLen > 0) {
×
156
    TAOS_CHECK_EXIT(tEncodeBinary(&encoder, (const uint8_t *)pReq->url, pReq->urlLen));
×
157
  }
158
  TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->userLen));
×
159
  if (pReq->userLen > 0) {
×
160
    TAOS_CHECK_EXIT(tEncodeBinary(&encoder, (const uint8_t *)pReq->user, pReq->userLen));
×
161
  }
162
  TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->passLen));
×
163
  if (pReq->passLen > 0) {
×
164
    TAOS_CHECK_EXIT(tEncodeBinary(&encoder, (const uint8_t *)pReq->pass, pReq->passLen));
×
165
  }
166
  TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->passIsMd5));
×
167
  TAOS_CHECK_EXIT(xEncodeCowStr(&encoder, &pReq->token));
×
168

169
  tEndEncode(&encoder);
×
170

171
_exit:
×
172
  if (code) {
×
173
    tlen = code;
×
174
  } else {
175
    tlen = encoder.pos;
×
176
  }
177
  tEncoderClear(&encoder);
×
178
  return tlen;
×
179
}
180

181
int32_t tDeserializeSMCreateXnodeReq(void *buf, int32_t bufLen, SMCreateXnodeReq *pReq) {
×
182
  SDecoder decoder = {0};
×
183
  int32_t  code = 0;
×
184
  int32_t  lino = 0;
×
185

186
  tDecoderInit(&decoder, buf, bufLen);
×
187

188
  TAOS_CHECK_EXIT(tStartDecode(&decoder));
×
189
  DECODESQL();
×
190

191
  TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->urlLen));
×
192
  if (pReq->urlLen > 0) {
×
193
    TAOS_CHECK_EXIT(tDecodeBinaryAlloc(&decoder, (void **)&pReq->url, NULL));
×
194
  }
195
  TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->userLen));
×
196
  if (pReq->userLen > 0) {
×
197
    TAOS_CHECK_EXIT(tDecodeBinaryAlloc(&decoder, (void **)&pReq->user, NULL));
×
198
  }
199
  TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->passLen));
×
200
  if (pReq->passLen > 0) {
×
201
    TAOS_CHECK_EXIT(tDecodeBinaryAlloc(&decoder, (void **)&pReq->pass, NULL));
×
202
  }
203
  TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->passIsMd5));
×
204
  TAOS_CHECK_EXIT(xDecodeCowStr(&decoder, &pReq->token, true));
×
205

206
  tEndDecode(&decoder);
×
207

208
_exit:
×
209
  tDecoderClear(&decoder);
×
210
  return code;
×
211
}
212

213
void tFreeSMCreateXnodeReq(SMCreateXnodeReq *pReq) {
×
214
  taosMemoryFreeClear(pReq->url);
×
215
  taosMemoryFreeClear(pReq->user);
×
216
  taosMemoryFreeClear(pReq->pass);
×
217
  xFreeCowStr(&pReq->token);
×
218
  FREESQL();
×
219
}
×
220
void xFreeTaskSource(xTaskSource *source) {
×
221
  if (source == NULL) {
×
222
    return;
×
223
  }
224
  xFreeCowStr(&source->cstr);
×
225
}
226
xTaskSource xCreateClonedTaskSource(ENodeXTaskSourceType sourceType, int32_t len, char *source) {
×
227
  // printf("clone task source from %p\n", source);
228
  xTaskSource taskSource = {0};
×
229
  taskSource.type = sourceType;
×
230
  taskSource.cstr = xCreateCowStr(len, source, true);
×
231
  return taskSource;
×
232
}
233
xTaskSource xCreateTaskSource(ENodeXTaskSourceType sourceType, int32_t len, char *ptr) {
×
234
   xTaskSource taskSource = {0};
×
235
  taskSource.type = sourceType;
×
236
  taskSource.cstr = xCreateCowStr(len, ptr, false);
×
237
   return taskSource;
×
238
}
239
xTaskSource xCloneTaskSourceRef(xTaskSource *source) {
×
240
  xTaskSource taskSource = {0};
×
241
  if (source == NULL) {
×
242
    return taskSource;
×
243
  }
244
  taskSource.type = source->type;
×
245
  taskSource.cstr = xCloneRefCowStr(&source->cstr);
×
246
  return taskSource;
×
247
}
248

249
const char *xGetTaskSourceTypeAsStr(xTaskSource *source) {
×
250
  switch (source->type) {
×
251
    case XNODE_TASK_SOURCE_DATABASE:
×
252
      return "database";
×
253
    case XNODE_TASK_SOURCE_TOPIC:
×
254
      return "topic";
×
255
    case XNODE_TASK_SOURCE_DSN:
×
256
      return "dsn";
×
257
    default:
×
258
      return "unknown";
×
259
  }
260
}
261
const char *xGetTaskSourceStr(xTaskSource *source) { return source->cstr.ptr; }
×
262
int32_t     xSerializeTaskSource(SEncoder *encoder, xTaskSource *source) {
×
263
  int32_t code = 0;
×
264
  int32_t  lino = 0;
×
265
  TAOS_CHECK_EXIT(tEncodeI32(encoder, source->type));
×
266
  TAOS_CHECK_EXIT(xEncodeCowStr(encoder, &source->cstr));
×
267
_exit:
×
268
  return code;
×
269
}
270
int32_t xDeserializeTaskSource(SDecoder *decoder, xTaskSource *source) {
×
271
  if (decoder == NULL || source == NULL) {
×
272
    return TSDB_CODE_MND_XNODE_INVALID_MSG;
×
273
  }
274
  int32_t code = 0;
×
275
  int32_t lino = 0;
×
276
  int32_t type = 0;
×
277
  TAOS_CHECK_EXIT(tDecodeI32(decoder, &type));
×
278
  source->type = type;
×
279
  TAOS_CHECK_EXIT(xDecodeCowStr(decoder, &source->cstr, true));
×
280
_exit:
×
281
  return code;
×
282
}
283

284
void xFreeTaskSink(xTaskSink *sink) {
×
285
  if (sink == NULL) {
×
286
    return;
×
287
  }
288
  xFreeCowStr(&sink->cstr);
×
289
}
290
xTaskSink xCreateClonedTaskSink(ENodeXTaskSinkType sinkType, int32_t len, char *sink) {
×
291
  xTaskSink taskSink = {0};
×
292
  taskSink.type = sinkType;
×
293
  taskSink.cstr = xCreateCowStr(len, sink, false);
×
294
  return taskSink;
×
295
}
296
xTaskSink xCreateTaskSink(ENodeXTaskSinkType sinkType, int32_t len, char *ptr) {
×
297
  xTaskSink taskSink = {0};
×
298
  taskSink.type = sinkType;
×
299
  taskSink.cstr = xCreateCowStr(len, ptr, false);
×
300
  return taskSink;
×
301
}
302
xTaskSink   xCloneTaskSinkRef(xTaskSink* sink) {
×
303
  xTaskSink taskSink = {0};
×
304
  if (sink == NULL) {
×
305
    return taskSink;
×
306
  }
307
  taskSink.type = sink->type;
×
308
  taskSink.cstr = xCloneRefCowStr(&sink->cstr);
×
309
  return taskSink;
×
310
}
311
const char *xGetTaskSinkTypeAsStr(xTaskSink *sink) {
×
312
  switch (sink->type) {
×
313
    case XNODE_TASK_SINK_DATABASE:
×
314
      return "database";
×
315
    case XNODE_TASK_SINK_DSN:
×
316
      return "dsn";
×
317
    default:
×
318
      return "unknown";
×
319
  }
320
}
321
const char *xGetTaskSinkStr(xTaskSink *sink) { return sink->cstr.ptr; }
×
322

323
int32_t xSerializeTaskSink(SEncoder *encoder, xTaskSink *sink) {
×
324
  int32_t code = 0;
×
325
  int32_t lino = 0;
×
326
  TAOS_CHECK_EXIT(tEncodeI32(encoder, sink->type));
×
327
  TAOS_CHECK_EXIT(xEncodeCowStr(encoder, &sink->cstr));
×
328
_exit:
×
329
  return code;
×
330
}
331
int32_t xDeserializeTaskSink(SDecoder *decoder, xTaskSink *sink) {
×
332
  if (decoder == NULL || sink == NULL) {
×
333
    return TSDB_CODE_MND_XNODE_INVALID_MSG;
×
334
  }
335
  int32_t code = 0;
×
336
  int32_t lino = 0;
×
337
  int32_t type = 0;
×
338
  TAOS_CHECK_EXIT(tDecodeI32(decoder, &type));
×
339
  sink->type = type;
×
340
  // switch (type) {
341
  //   case XNODE_TASK_SINK_DSN:
342
  //   case XNODE_TASK_SINK_DATABASE:
343
  //     sink->type = type;
344
  //     break;
345
  //   default:
346
  //     TAOS_RETURN(TSDB_CODE_MND_XNODE_INVALID_MSG);
347
  // }
348
  TAOS_CHECK_EXIT(xDecodeCowStr(decoder, &sink->cstr, true));
×
349
_exit:
×
350
  return code;
×
351
}
352

353
void xFreeTaskOptions(xTaskOptions *options) {
×
354
  if (options == NULL) {
×
355
    return;
×
356
  }
357
  xFreeCowStr(&options->trigger);
×
358
  xFreeCowStr(&options->parser);
×
359
  xFreeCowStr(&options->health);
×
360
  // xFreeCowStr(&options->reason);
361
  for (int i = 0; i < TSDB_XNODE_TASK_OPTIONS_MAX_NUM; i++) {
×
362
    xFreeCowStr(&options->options[i]);
×
363
  }
364
}
365
void printXnodeTaskOptions(xTaskOptions *options) {
×
366
  printf("Xnode Task Options:\n");
×
367
  printf("  trigger: %s\n", options->trigger.ptr);
×
368
  printf("  parser: %s\n", options->parser.ptr);
×
369
  printf("  health: %s\n", options->health.ptr);
×
370
  // printf("  reason: %s\n", options->reason.ptr);
371
  if (options->via > 0) {
×
372
    printf("  via: %d\n", options->via);
×
373
  } else {
374
    printf("  via: nil\n");
×
375
  }
376
  for (int i = 0; i < options->optionsNum; ++i) {
×
377
    printf("  option[%d]: %s\n", i, options->options[i].ptr);
×
378
  }
379
}
×
380
int32_t xSerializeTaskOptions(SEncoder *encoder, xTaskOptions *options) {
×
381
  int32_t code = 0;
×
382
  int32_t lino = 0;
×
383
  TAOS_CHECK_EXIT(tEncodeI32(encoder, options->via));
×
384
  TAOS_CHECK_EXIT(xEncodeCowStr(encoder, &options->parser));
×
385
  // TAOS_CHECK_EXIT(xEncodeCowStr(encoder, &options->reason));
386
  TAOS_CHECK_EXIT(xEncodeCowStr(encoder, &options->trigger));
×
387
  TAOS_CHECK_EXIT(xEncodeCowStr(encoder, &options->health));
×
388
  TAOS_CHECK_EXIT(tEncodeI32(encoder, options->optionsNum));
×
389
  for (int i = 0; i < options->optionsNum && i < TSDB_XNODE_TASK_OPTIONS_MAX_NUM; i++) {
×
390
    TAOS_CHECK_EXIT(xEncodeCowStr(encoder, &options->options[i]));
×
391
  }
392
_exit:
×
393
  return code;
×
394
}
395
int32_t xDeserializeTaskOptions(SDecoder *decoder, xTaskOptions *options) {
×
396
  if (decoder == NULL || options == NULL) {
×
397
    return TSDB_CODE_MND_XNODE_INVALID_MSG;
×
398
  }
399
  int32_t code = 0;
×
400
  int32_t  lino = 0;
×
401

402
  TAOS_CHECK_EXIT(tDecodeI32(decoder, &options->via));
×
403
  TAOS_CHECK_EXIT(xDecodeCowStr(decoder, &options->parser, true));
×
404
  // TAOS_CHECK_EXIT(xDecodeCowStr(decoder, &options->reason, true));
405
  TAOS_CHECK_EXIT(xDecodeCowStr(decoder, &options->trigger, true));
×
406
  TAOS_CHECK_EXIT(xDecodeCowStr(decoder, &options->health, true));
×
407
  TAOS_CHECK_EXIT(tDecodeI32(decoder, &options->optionsNum));
×
408
  for (int i = 0; i < options->optionsNum && i < TSDB_XNODE_TASK_OPTIONS_MAX_NUM; i++) {
×
409
    TAOS_CHECK_EXIT(xDecodeCowStr(decoder, &options->options[i], true));
×
410
  }
411
_exit:
×
412
  return code;
×
413
}
414
int32_t tSerializeXnodeTaskSource(SEncoder *encoder, xTaskSource *source) {
×
415
  int32_t code = 0;
×
416
  int32_t lino = 0;
×
417
  int32_t tlen = 0;
×
418
  TAOS_CHECK_EXIT(tEncodeI32(encoder, source->type));
×
419
  TAOS_CHECK_EXIT(xEncodeCowStr(encoder, &source->cstr));
×
420
_exit:
×
421
  return code;
×
422
}
423

424
int32_t tDeserializeXnodeTaskSource(SDecoder *decoder, xTaskSource *source) {
×
425
  int32_t code = 0;
×
426
  int32_t lino = 0;
×
427

428
  TAOS_CHECK_EXIT(tDecodeI32(decoder, (int32_t *)&source->type));
×
429
  TAOS_CHECK_EXIT(xDecodeCowStr(decoder, &source->cstr, true));
×
430
_exit:
×
431
  return code;
×
432
}
433
int32_t tSerializeSMCreateXnodeTaskReq(void *buf, int32_t bufLen, SMCreateXnodeTaskReq *pReq) {
×
434
  SEncoder encoder = {0};
×
435
  int32_t  code = 0;
×
436
  int32_t  lino = 0;
×
437
  int32_t  tlen = 0;
×
438
  tEncoderInit(&encoder, buf, bufLen);
×
439

440
  TAOS_CHECK_EXIT(tStartEncode(&encoder));
×
441
  ENCODESQL();
×
442
  TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->xnodeId));
×
443
  TAOS_CHECK_EXIT(xEncodeCowStr(&encoder, &pReq->name));
×
444
  TAOS_CHECK_EXIT(xSerializeTaskSource(&encoder, &pReq->source));
×
445
  TAOS_CHECK_EXIT(xSerializeTaskSink(&encoder, &pReq->sink));
×
446
  TAOS_CHECK_EXIT(xSerializeTaskOptions(&encoder, &pReq->options));
×
447
  tEndEncode(&encoder);
×
448

449
_exit:
×
450
  if (code) {
×
451
    tlen = code;
×
452
  } else {
453
    tlen = encoder.pos;
×
454
  }
455
  tEncoderClear(&encoder);
×
456
  return tlen;
×
457
}
458
int32_t tDeserializeSMCreateXnodeTaskReq(void *buf, int32_t bufLen, SMCreateXnodeTaskReq *pReq) {
×
459
  SDecoder decoder = {0};
×
460
  int32_t  code = 0;
×
461
  int32_t  lino = 0;
×
462

463
  tDecoderInit(&decoder, buf, bufLen);
×
464

465
  TAOS_CHECK_EXIT(tStartDecode(&decoder));
×
466
  DECODESQL();
×
467
  TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->xnodeId));
×
468
  TAOS_CHECK_EXIT(xDecodeCowStr(&decoder, &pReq->name, true));
×
469
  TAOS_CHECK_EXIT(xDeserializeTaskSource(&decoder, &pReq->source));
×
470
  TAOS_CHECK_EXIT(xDeserializeTaskSink(&decoder, &pReq->sink));
×
471
  TAOS_CHECK_EXIT(xDeserializeTaskOptions(&decoder, &pReq->options));
×
472
  tEndDecode(&decoder);
×
473

474
_exit:
×
475
  tDecoderClear(&decoder);
×
476
  return code;
×
477
}
478
void tFreeSMCreateXnodeTaskReq(SMCreateXnodeTaskReq *pReq) {
×
479
  // printf("freeCreateXnodeTask: %s\n", pReq->name.ptr);
480
  FREESQL();
×
481
  xFreeCowStr(&pReq->name);
×
482
  xFreeTaskSource(&pReq->source);
×
483
  xFreeTaskSink(&pReq->sink);
×
484
  xFreeTaskOptions(&pReq->options);
×
485
}
×
486
int32_t tSerializeSMDropXnodeTaskReq(void *buf, int32_t bufLen, SMDropXnodeTaskReq *pReq) {
×
487
  // printf("serializeDropXnodeTask: %d\n", pReq->tid);
488
  SEncoder encoder = {0};
×
489
  int32_t  code = 0;
×
490
  int32_t  lino = 0;
×
491
  int32_t  tlen = 0;
×
492

493
  tEncoderInit(&encoder, buf, bufLen);
×
494

495
  TAOS_CHECK_EXIT(tStartEncode(&encoder));
×
496
  ENCODESQL();
×
497
  TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->id));
×
498
  TAOS_CHECK_EXIT(tEncodeBool(&encoder, pReq->force));
×
499
  TAOS_CHECK_EXIT(xEncodeCowStr(&encoder, &pReq->name));
×
500
  tEndEncode(&encoder);
×
501

502
_exit:
×
503
  if (code) {
×
504
    tlen = code;
×
505
  } else {
506
    tlen = encoder.pos;
×
507
  }
508
  tEncoderClear(&encoder);
×
509
  return tlen;
×
510
}
511
int32_t tDeserializeSMDropXnodeTaskReq(void *buf, int32_t bufLen, SMDropXnodeTaskReq *pReq) {
×
512
  // printf("deserializeDropXnodeTask: %d\n", pReq->tid);
513
  SDecoder decoder = {0};
×
514
  int32_t  code = 0;
×
515
  int32_t  lino = 0;
×
516
  tDecoderInit(&decoder, buf, bufLen);
×
517

518
  TAOS_CHECK_EXIT(tStartDecode(&decoder));
×
519
  DECODESQL();
×
520
  TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->id));
×
521
  TAOS_CHECK_EXIT(tDecodeBool(&decoder, &pReq->force));
×
522
  TAOS_CHECK_EXIT(xDecodeCowStr(&decoder, &pReq->name, true));
×
523
  tEndDecode(&decoder);
×
524

525
_exit:
×
526
  tDecoderClear(&decoder);
×
527
  return code;
×
528
}
529
void tFreeSMDropXnodeTaskReq(SMDropXnodeTaskReq *pReq) {
×
530
  FREESQL();
×
531
  xFreeCowStr(&pReq->name);
×
532
}
×
533

534
int32_t tSerializeSMStartXnodeTaskReq(void *buf, int32_t bufLen, SMStartXnodeTaskReq *pReq) {
×
535
  SEncoder encoder = {0};
×
536
  int32_t  code = 0;
×
537
  int32_t  lino = 0;
×
538
  int32_t  tlen = 0;
×
539

540
  tEncoderInit(&encoder, buf, bufLen);
×
541

542
  TAOS_CHECK_EXIT(tStartEncode(&encoder));
×
543
  ENCODESQL();
×
544
  TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->tid));
×
545
  TAOS_CHECK_EXIT(xEncodeCowStr(&encoder, &pReq->name));
×
546
  TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->sqlLen));
×
547
  tEndEncode(&encoder);
×
548

549
_exit:
×
550
  if (code) {
×
551
    tlen = code;
×
552
  } else {
553
    tlen = encoder.pos;
×
554
  }
555
  tEncoderClear(&encoder);
×
556
  return tlen;
×
557
}
558
int32_t tDeserializeSMStartXnodeTaskReq(void *buf, int32_t bufLen, SMStartXnodeTaskReq *pReq) {
×
559
  SDecoder decoder = {0};
×
560
  int32_t  code = 0;
×
561
  int32_t  lino = 0;
×
562
  tDecoderInit(&decoder, buf, bufLen);
×
563

564
  TAOS_CHECK_EXIT(tStartDecode(&decoder));
×
565
  DECODESQL();
×
566
  TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->tid));
×
567
  TAOS_CHECK_EXIT(xDecodeCowStr(&decoder, &pReq->name, true));
×
568
  tEndDecode(&decoder);
×
569

570
_exit:
×
571
  tDecoderClear(&decoder);
×
572
  return code;
×
573
}
574
void tFreeSMStartXnodeTaskReq(SMStartXnodeTaskReq *pReq) {
×
575
  FREESQL();
×
576
  xFreeCowStr(&pReq->name);
×
577
}
×
578

579
int32_t tSerializeSMStopXnodeTaskReq(void *buf, int32_t bufLen, SMStopXnodeTaskReq *pReq) {
×
580
  return tSerializeSMStartXnodeTaskReq(buf, bufLen, pReq);
×
581
}
582
int32_t tDeserializeSMStopXnodeTaskReq(void *buf, int32_t bufLen, SMStopXnodeTaskReq *pReq) {
×
583
  return tDeserializeSMStartXnodeTaskReq(buf, bufLen, pReq);
×
584
}
585
void tFreeSMStopXnodeTaskReq(SMStopXnodeTaskReq *pReq) { tFreeSMStartXnodeTaskReq(pReq); }
×
586

587
int32_t tSerializeSMUpdateXnodeTaskReq(void *buf, int32_t bufLen, SMUpdateXnodeTaskReq *pReq) {
×
588
  SEncoder encoder = {0};
×
589
  int32_t  code = 0;
×
590
  int32_t  lino = 0;
×
591
  int32_t  tlen = 0;
×
592
  tEncoderInit(&encoder, buf, bufLen);
×
593

594
  TAOS_CHECK_EXIT(tStartEncode(&encoder));
×
595
  ENCODESQL();
×
596
  TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->tid));
×
597
  TAOS_CHECK_EXIT(xEncodeCowStr(&encoder, &pReq->name));
×
598
  TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->via));
×
599
  TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->xnodeId));
×
600
  TAOS_CHECK_EXIT(xEncodeCowStr(&encoder, &pReq->status));
×
601
  TAOS_CHECK_EXIT(xSerializeTaskSource(&encoder, &pReq->source));
×
602
  TAOS_CHECK_EXIT(xSerializeTaskSink(&encoder, &pReq->sink));
×
603
  TAOS_CHECK_EXIT(xEncodeCowStr(&encoder, &pReq->parser));
×
604
  TAOS_CHECK_EXIT(xEncodeCowStr(&encoder, &pReq->reason));
×
605
  TAOS_CHECK_EXIT(xEncodeCowStr(&encoder, &pReq->labels));
×
606
  TAOS_CHECK_EXIT(xEncodeCowStr(&encoder, &pReq->updateName));
×
607
  tEndEncode(&encoder);
×
608

609
_exit:
×
610
  if (code) {
×
611
    tlen = code;
×
612
  } else {
613
    tlen = encoder.pos;
×
614
  }
615
  tEncoderClear(&encoder);
×
616
  return tlen;
×
617
}
618

619
int32_t tDeserializeSMUpdateXnodeTaskReq(void *buf, int32_t bufLen, SMUpdateXnodeTaskReq *pReq) {
×
620
  SDecoder decoder = {0};
×
621
  int32_t  code = 0;
×
622
  int32_t  lino = 0;
×
623

624
  tDecoderInit(&decoder, buf, bufLen);
×
625

626
  TAOS_CHECK_EXIT(tStartDecode(&decoder));
×
627
  DECODESQL();
×
628
  TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->tid));
×
629
  TAOS_CHECK_EXIT(xDecodeCowStr(&decoder, &pReq->name, true));
×
630
  TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->via));
×
631
  TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->xnodeId));
×
632
  TAOS_CHECK_EXIT(xDecodeCowStr(&decoder, &pReq->status, true));
×
633
  TAOS_CHECK_EXIT(xDeserializeTaskSource(&decoder, &pReq->source));
×
634
  TAOS_CHECK_EXIT(xDeserializeTaskSink(&decoder, &pReq->sink));
×
635
  TAOS_CHECK_EXIT(xDecodeCowStr(&decoder, &pReq->parser, true));
×
636
  TAOS_CHECK_EXIT(xDecodeCowStr(&decoder, &pReq->reason, true));
×
637
  TAOS_CHECK_EXIT(xDecodeCowStr(&decoder, &pReq->labels, true));
×
638
  TAOS_CHECK_EXIT(xDecodeCowStr(&decoder, &pReq->updateName, true));
×
639
  tEndDecode(&decoder);
×
640

641
_exit:
×
642
  tDecoderClear(&decoder);
×
643
  return code;
×
644
}
645

646
void tFreeSMUpdateXnodeTaskReq(SMUpdateXnodeTaskReq *pReq) {
×
647
  // printf("freeUpdateXnodeTask: %d\n", pReq->tid);
648
  xFreeCowStr(&pReq->name);
×
649
  xFreeTaskSource(&pReq->source);
×
650
  xFreeTaskSink(&pReq->sink);
×
651
  xFreeCowStr(&pReq->parser);
×
652
  xFreeCowStr(&pReq->reason);
×
653
  xFreeCowStr(&pReq->status);
×
654
  xFreeCowStr(&pReq->labels);
×
655
  xFreeCowStr(&pReq->updateName);
×
656
  FREESQL();
×
657
}
×
658

659
int32_t tSerializeSMDropXnodeReq(void *buf, int32_t bufLen, SMDropXnodeReq *pReq) {
×
660
  SEncoder encoder = {0};
×
661
  int32_t  code = 0;
×
662
  int32_t  lino = 0;
×
663
  int32_t  tlen = 0;
×
664
  tEncoderInit(&encoder, buf, bufLen);
×
665

666
  TAOS_CHECK_EXIT(tStartEncode(&encoder));
×
667
  TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->xnodeId));
×
668
  TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->force));
×
669
  TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->urlLen));
×
670
  if (pReq->urlLen > 0) {
×
671
    TAOS_CHECK_EXIT(tEncodeBinary(&encoder, (const uint8_t *)pReq->url, pReq->urlLen));
×
672
  }
673
  ENCODESQL();
×
674
  tEndEncode(&encoder);
×
675

676
_exit:
×
677
  if (code) {
×
678
    tlen = code;
×
679
  } else {
680
    tlen = encoder.pos;
×
681
  }
682
  tEncoderClear(&encoder);
×
683
  return tlen;
×
684
}
685

686
int32_t tDeserializeSMDropXnodeReq(void *buf, int32_t bufLen, SMDropXnodeReq *pReq) {
×
687
  SDecoder decoder = {0};
×
688
  int32_t  code = 0;
×
689
  int32_t  lino = 0;
×
690

691
  tDecoderInit(&decoder, buf, bufLen);
×
692

693
  TAOS_CHECK_EXIT(tStartDecode(&decoder));
×
694
  TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->xnodeId));
×
695
  TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->force));
×
696
  TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->urlLen));
×
697
  if (pReq->urlLen > 0) {
×
698
    TAOS_CHECK_EXIT(tDecodeBinaryAlloc(&decoder, (void **)&pReq->url, NULL));
×
699
  }
700
  DECODESQL();
×
701
  tEndDecode(&decoder);
×
702

703
_exit:
×
704
  tDecoderClear(&decoder);
×
705
  return code;
×
706
}
707

708
void tFreeSMDropXnodeReq(SMDropXnodeReq *pReq) {
×
709
  FREESQL();
×
710
  if (pReq->urlLen > 0 && pReq->url != NULL) {
×
711
    taosMemoryFree(pReq->url);
×
712
  }
713
}
×
714

715
int32_t tSerializeSMDrainXnodeReq(void *buf, int32_t bufLen, SMDrainXnodeReq *pReq) {
×
716
  SEncoder encoder = {0};
×
717
  int32_t  code = 0;
×
718
  int32_t  lino = 0;
×
719
  int32_t  tlen = 0;
×
720
  tEncoderInit(&encoder, buf, bufLen);
×
721

722
  TAOS_CHECK_EXIT(tStartEncode(&encoder));
×
723
  TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->xnodeId));
×
724
  ENCODESQL();
×
725
  tEndEncode(&encoder);
×
726

727
_exit:
×
728
  if (code) {
×
729
    tlen = code;
×
730
  } else {
731
    tlen = encoder.pos;
×
732
  }
733
  tEncoderClear(&encoder);
×
734
  return tlen;
×
735
}
736

737
int32_t tDeserializeSMDrainXnodeReq(void *buf, int32_t bufLen, SMDrainXnodeReq *pReq) {
×
738
  SDecoder decoder = {0};
×
739
  int32_t  code = 0;
×
740
  int32_t  lino = 0;
×
741

742
  tDecoderInit(&decoder, buf, bufLen);
×
743

744
  TAOS_CHECK_EXIT(tStartDecode(&decoder));
×
745
  TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->xnodeId));
×
746
  DECODESQL();
×
747
  tEndDecode(&decoder);
×
748

749
_exit:
×
750
  tDecoderClear(&decoder);
×
751
  return code;
×
752
}
753

754
void tFreeSMDrainXnodeReq(SMDrainXnodeReq *pReq) { FREESQL(); }
×
755

756
int32_t tSerializeSMUpdateXnodeReq(void *buf, int32_t bufLen, SMUpdateXnodeReq *pReq) {
×
757
  SEncoder encoder = {0};
×
758
  int32_t  code = 0;
×
759
  int32_t  lino = 0;
×
760
  int32_t  tlen = 0;
×
761
  tEncoderInit(&encoder, buf, bufLen);
×
762

763
  TAOS_CHECK_EXIT(tStartEncode(&encoder));
×
764
  TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->id));
×
765
  TAOS_CHECK_EXIT(xEncodeCowStr(&encoder, &pReq->token));
×
766
  TAOS_CHECK_EXIT(xEncodeCowStr(&encoder, &pReq->user));
×
767
  TAOS_CHECK_EXIT(xEncodeCowStr(&encoder, &pReq->pass));
×
768
  TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->urlLen));
×
769
  if (pReq->urlLen > 0) {
×
770
    TAOS_CHECK_EXIT(tEncodeBinary(&encoder, (const uint8_t *)pReq->url, pReq->urlLen));
×
771
  }
772
  ENCODESQL();
×
773
  tEndEncode(&encoder);
×
774

775
_exit:
×
776
  if (code) {
×
777
    tlen = code;
×
778
  } else {
779
    tlen = encoder.pos;
×
780
  }
781
  tEncoderClear(&encoder);
×
782
  return tlen;
×
783
}
784

785
int32_t tDeserializeSMUpdateXnodeReq(void *buf, int32_t bufLen, SMUpdateXnodeReq *pReq) {
×
786
  SDecoder decoder = {0};
×
787
  int32_t  code = 0;
×
788
  int32_t  lino = 0;
×
789

790
  tDecoderInit(&decoder, buf, bufLen);
×
791

792
  TAOS_CHECK_EXIT(tStartDecode(&decoder));
×
793
  TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->id));
×
794
  TAOS_CHECK_EXIT(xDecodeCowStr(&decoder, &pReq->token, true));
×
795
  TAOS_CHECK_EXIT(xDecodeCowStr(&decoder, &pReq->user, true));
×
796
  TAOS_CHECK_EXIT(xDecodeCowStr(&decoder, &pReq->pass, true));
×
797
  TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->urlLen));
×
798
  if (pReq->urlLen > 0) {
×
799
    TAOS_CHECK_EXIT(tDecodeBinaryAlloc(&decoder, (void **)&pReq->url, NULL));
×
800
  }
801
  DECODESQL();
×
802
  tEndDecode(&decoder);
×
803

804
_exit:
×
805
  tDecoderClear(&decoder);
×
806
  return code;
×
807
}
808

809
void tFreeSMUpdateXnodeReq(SMUpdateXnodeReq *pReq) {
×
810
  FREESQL();
×
811
  if (pReq->urlLen > 0 && pReq->url != NULL) {
×
812
    taosMemoryFree(pReq->url);
×
813
  }
814
  xFreeCowStr(&pReq->token);
×
815
  xFreeCowStr(&pReq->user);
×
816
  xFreeCowStr(&pReq->pass);
×
817
}
×
818

819
int32_t tSerializeSMCreateXnodeJobReq(void *buf, int32_t bufLen, SMCreateXnodeJobReq *pReq) {
×
820
  SEncoder encoder = {0};
×
821
  int32_t  code = 0;
×
822
  int32_t  lino = 0;
×
823
  int32_t  tlen = 0;
×
824

825
  tEncoderInit(&encoder, buf, bufLen);
×
826

827
  TAOS_CHECK_EXIT(tStartEncode(&encoder));
×
828
  // 0. sql
829
  ENCODESQL();
×
830

831
  TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->tid));
×
832
  TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->via));
×
833
  TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->xnodeId));
×
834
  TAOS_CHECK_EXIT(xEncodeCowStr(&encoder, &pReq->status));
×
835
  TAOS_CHECK_EXIT(xEncodeCowStr(&encoder, &pReq->config));
×
836
  TAOS_CHECK_EXIT(xEncodeCowStr(&encoder, &pReq->reason));
×
837
  tEndEncode(&encoder);
×
838

839
_exit:
×
840
  if (code) {
×
841
    tlen = code;
×
842
  } else {
843
    tlen = encoder.pos;
×
844
  }
845
  tEncoderClear(&encoder);
×
846
  return tlen;
×
847
}
848

849
int32_t tDeserializeSMCreateXnodeJobReq(void *buf, int32_t bufLen, SMCreateXnodeJobReq *pReq) {
×
850
  // printf("deserializeCreateXnodeTaskJob: %d\n", pReq->tid);
851
  SDecoder decoder = {0};
×
852
  int32_t  code = 0;
×
853
  int32_t  lino = 0;
×
854

855
  tDecoderInit(&decoder, buf, bufLen);
×
856

857
  TAOS_CHECK_EXIT(tStartDecode(&decoder));
×
858
  DECODESQL();
×
859
  TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->tid));
×
860
  TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->via));
×
861
  TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->xnodeId));
×
862
  TAOS_CHECK_EXIT(xDecodeCowStr(&decoder, &pReq->status, true));
×
863
  TAOS_CHECK_EXIT(xDecodeCowStr(&decoder, &pReq->config, true));
×
864
  TAOS_CHECK_EXIT(xDecodeCowStr(&decoder, &pReq->reason, true));
×
865
  tEndDecode(&decoder);
×
866

867
_exit:
×
868
  tDecoderClear(&decoder);
×
869
  return code;
×
870
}
871
void tFreeSMCreateXnodeJobReq(SMCreateXnodeJobReq *pReq) {
×
872
  FREESQL();
×
873
  xFreeCowStr(&pReq->config);
×
874
  xFreeCowStr(&pReq->reason);
×
875
  xFreeCowStr(&pReq->status);
×
876
}
×
877

878
int32_t tSerializeSMUpdateXnodeJobReq(void *buf, int32_t bufLen, SMUpdateXnodeJobReq *pReq) {
×
879
  SEncoder encoder = {0};
×
880
  int32_t  code = 0;
×
881
  int32_t  lino = 0;
×
882
  int32_t  tlen = 0;
×
883

884
  tEncoderInit(&encoder, buf, bufLen);
×
885

886
  TAOS_CHECK_EXIT(tStartEncode(&encoder));
×
887
  // 0. sql
888
  ENCODESQL();
×
889

890
  TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->jid));
×
891
  TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->via));
×
892
  TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->xnodeId));
×
893
  TAOS_CHECK_EXIT(xEncodeCowStr(&encoder, &pReq->status));
×
894
  TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->configLen));
×
895
  if (pReq->config != NULL) {
×
896
    TAOS_CHECK_EXIT(tEncodeBinary(&encoder, (const uint8_t *)pReq->config, pReq->configLen + 1));
×
897
  } else {
898
    TAOS_CHECK_EXIT(tEncodeU32v(&encoder, 0));
×
899
  }
900
  TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->reasonLen));
×
901
  if (pReq->reason != NULL) {
×
902
    TAOS_CHECK_EXIT(tEncodeBinary(&encoder, (const uint8_t *)pReq->reason, pReq->reasonLen + 1));
×
903
  } else {
904
    TAOS_CHECK_EXIT(tEncodeU32v(&encoder, 0));
×
905
  }
906
  tEndEncode(&encoder);
×
907

908
_exit:
×
909
  if (code) {
×
910
    tlen = code;
×
911
  } else {
912
    tlen = encoder.pos;
×
913
  }
914
  tEncoderClear(&encoder);
×
915
  return tlen;
×
916
}
917

918
int32_t tDeserializeSMUpdateXnodeJobReq(void *buf, int32_t bufLen, SMUpdateXnodeJobReq *pReq) {
×
919
  SDecoder decoder = {0};
×
920
  int32_t  code = 0;
×
921
  int32_t  lino = 0;
×
922

923
  tDecoderInit(&decoder, buf, bufLen);
×
924

925
  TAOS_CHECK_EXIT(tStartDecode(&decoder));
×
926
  DECODESQL();
×
927
  TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->jid));
×
928
  TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->via));
×
929
  TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->xnodeId));
×
930
  TAOS_CHECK_EXIT(xDecodeCowStr(&decoder, &pReq->status, true));
×
931
  TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->configLen));
×
932
  TAOS_CHECK_EXIT(tDecodeBinaryAlloc(&decoder, (void **)&pReq->config, NULL));
×
933
  TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->reasonLen));
×
934
  TAOS_CHECK_EXIT(tDecodeBinaryAlloc(&decoder, (void **)&pReq->reason, NULL));
×
935
  tEndDecode(&decoder);
×
936

937
_exit:
×
938
  tDecoderClear(&decoder);
×
939
  return code;
×
940
}
941

942
void tFreeSMUpdateXnodeJobReq(SMUpdateXnodeJobReq *pReq) {
×
943
  FREESQL();
×
944
  if (pReq->config != NULL) {
×
945
    pReq->configLen = 0;
×
946
    taosMemoryFreeClear(pReq->config);
×
947
  }
948
  if (pReq->reason != NULL) {
×
949
    pReq->reasonLen = 0;
×
950
    taosMemoryFreeClear(pReq->reason);
×
951
  }
952
  xFreeCowStr(&pReq->status);
×
953
}
×
954

955
int32_t tSerializeSMRebalanceXnodeJobReq(void *buf, int32_t bufLen, SMRebalanceXnodeJobReq *pReq) {
×
956
  SEncoder encoder = {0};
×
957
  int32_t  code = 0;
×
958
  int32_t  lino = 0;
×
959
  int32_t  tlen = 0;
×
960

961
  tEncoderInit(&encoder, buf, bufLen);
×
962

963
  TAOS_CHECK_EXIT(tStartEncode(&encoder));
×
964
  ENCODESQL();
×
965
  TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->jid));
×
966
  TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->xnodeId));
×
967

968
  tEndEncode(&encoder);
×
969
_exit:
×
970
  if (code) {
×
971
    tlen = code;
×
972
  } else {
973
    tlen = encoder.pos;
×
974
  }
975
  tEncoderClear(&encoder);
×
976
  return tlen;
×
977
}
978
int32_t tDeserializeSMRebalanceXnodeJobReq(void *buf, int32_t bufLen, SMRebalanceXnodeJobReq *pReq) {
×
979
  SDecoder decoder = {0};
×
980
  int32_t  code = 0;
×
981
  int32_t  lino = 0;
×
982

983
  tDecoderInit(&decoder, buf, bufLen);
×
984

985
  TAOS_CHECK_EXIT(tStartDecode(&decoder));
×
986
  DECODESQL();
×
987
  TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->jid));
×
988
  TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->xnodeId));
×
989

990
  tEndDecode(&decoder);
×
991
_exit:
×
992
  tDecoderClear(&decoder);
×
993
  return code;
×
994
}
995

996
void tFreeSMRebalanceXnodeJobReq(SMRebalanceXnodeJobReq *pReq) { FREESQL(); }
×
997

998
int32_t tSerializeSMRebalanceXnodeJobsWhereReq(void *buf, int32_t bufLen, SMRebalanceXnodeJobsWhereReq *pReq) {
×
999
  SEncoder encoder = {0};
×
1000
  int32_t  code = 0;
×
1001
  int32_t  lino = 0;
×
1002
  int32_t  tlen = 0;
×
1003

1004
  tEncoderInit(&encoder, buf, bufLen);
×
1005

1006
  TAOS_CHECK_EXIT(tStartEncode(&encoder));
×
1007
  ENCODESQL();
×
1008
  TAOS_CHECK_EXIT(xEncodeCowStr(&encoder, &pReq->ast));
×
1009
  tEndEncode(&encoder);
×
1010
_exit:
×
1011
  if (code) {
×
1012
    tlen = code;
×
1013
  } else {
1014
    tlen = encoder.pos;
×
1015
  }
1016
  tEncoderClear(&encoder);
×
1017
  return tlen;
×
1018
}
1019
int32_t tDeserializeSMRebalanceXnodeJobsWhereReq(void *buf, int32_t bufLen, SMRebalanceXnodeJobsWhereReq *pReq) {
×
1020
  SDecoder decoder = {0};
×
1021
  int32_t  code = 0;
×
1022
  int32_t  lino = 0;
×
1023

1024
  tDecoderInit(&decoder, buf, bufLen);
×
1025

1026
  TAOS_CHECK_EXIT(tStartDecode(&decoder));
×
1027
  DECODESQL();
×
1028
  TAOS_CHECK_EXIT(xDecodeCowStr(&decoder, &pReq->ast, true));
×
1029

1030
  tEndDecode(&decoder);
×
1031
_exit:
×
1032
  tDecoderClear(&decoder);
×
1033
  return code;
×
1034
}
1035

1036
void tFreeSMRebalanceXnodeJobsWhereReq(SMRebalanceXnodeJobsWhereReq *pReq) {
×
1037
  FREESQL();
×
1038
  xFreeCowStr(&pReq->ast);
×
1039
}
×
1040

1041
int32_t tSerializeSMDropXnodeJobReq(void *buf, int32_t bufLen, SMDropXnodeJobReq *pReq) {
×
1042
  SEncoder encoder = {0};
×
1043
  int32_t  code = 0;
×
1044
  int32_t  lino = 0;
×
1045
  int32_t  tlen = 0;
×
1046

1047
  tEncoderInit(&encoder, buf, bufLen);
×
1048

1049
  TAOS_CHECK_EXIT(tStartEncode(&encoder));
×
1050
  ENCODESQL();
×
1051
  TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->jid));
×
1052
  TAOS_CHECK_EXIT(xEncodeCowStr(&encoder, &pReq->ast));
×
1053

1054
  tEndEncode(&encoder);
×
1055
_exit:
×
1056
  if (code) {
×
1057
    tlen = code;
×
1058
  } else {
1059
    tlen = encoder.pos;
×
1060
  }
1061
  tEncoderClear(&encoder);
×
1062
  return tlen;
×
1063
}
1064
int32_t tDeserializeSMDropXnodeJobReq(void *buf, int32_t bufLen, SMDropXnodeJobReq *pReq) {
×
1065
  SDecoder decoder = {0};
×
1066
  int32_t  code = 0;
×
1067
  int32_t  lino = 0;
×
1068

1069
  tDecoderInit(&decoder, buf, bufLen);
×
1070

1071
  TAOS_CHECK_EXIT(tStartDecode(&decoder));
×
1072
  DECODESQL();
×
1073
  TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->jid));
×
1074
  TAOS_CHECK_EXIT(xDecodeCowStr(&decoder, &pReq->ast, true));
×
1075

1076
  tEndDecode(&decoder);
×
1077
_exit:
×
1078
  tDecoderClear(&decoder);
×
1079
  return code;
×
1080
}
1081
void tFreeSMDropXnodeJobReq(SMDropXnodeJobReq *pReq) {
×
1082
  FREESQL();
×
1083
  xFreeCowStr(&pReq->ast);
×
1084
}
×
1085

1086
int32_t tSerializeSMCreateXnodeAgentReq(void *buf, int32_t bufLen, SMCreateXnodeAgentReq *pReq) {
×
1087
  SEncoder encoder = {0};
×
1088
  int32_t  code = 0;
×
1089
  int32_t  lino = 0;
×
1090
  int32_t  tlen = 0;
×
1091
  tEncoderInit(&encoder, buf, bufLen);
×
1092

1093
  TAOS_CHECK_EXIT(tStartEncode(&encoder));
×
1094
  ENCODESQL();
×
1095
  TAOS_CHECK_EXIT(xEncodeCowStr(&encoder, &pReq->name));
×
1096
  TAOS_CHECK_EXIT(xEncodeCowStr(&encoder, &pReq->status));
×
1097
  TAOS_CHECK_EXIT(xSerializeTaskOptions(&encoder, &pReq->options));
×
1098
  tEndEncode(&encoder);
×
1099

1100
_exit:
×
1101
  if (code) {
×
1102
    tlen = code;
×
1103
  } else {
1104
    tlen = encoder.pos;
×
1105
  }
1106
  tEncoderClear(&encoder);
×
1107
  return tlen;
×
1108
}
1109

1110
int32_t tDeserializeSMCreateXnodeAgentReq(void *buf, int32_t bufLen, SMCreateXnodeAgentReq *pReq) {
×
1111
  SDecoder decoder = {0};
×
1112
  int32_t  code = 0;
×
1113
  int32_t  lino = 0;
×
1114

1115
  tDecoderInit(&decoder, buf, bufLen);
×
1116

1117
  TAOS_CHECK_EXIT(tStartDecode(&decoder));
×
1118
  DECODESQL();
×
1119
  TAOS_CHECK_EXIT(xDecodeCowStr(&decoder, &pReq->name, true));
×
1120
  TAOS_CHECK_EXIT(xDecodeCowStr(&decoder, &pReq->status, true));
×
1121
  TAOS_CHECK_EXIT(xDeserializeTaskOptions(&decoder, &pReq->options));
×
1122

1123
  tEndDecode(&decoder);
×
1124
_exit:
×
1125
  tDecoderClear(&decoder);
×
1126
  return code;
×
1127
}
1128

1129
void tFreeSMCreateXnodeAgentReq(SMCreateXnodeAgentReq *pReq) {
×
1130
  FREESQL();
×
1131
  xFreeCowStr(&pReq->name);
×
1132
  xFreeCowStr(&pReq->status);
×
1133
  xFreeTaskOptions(&pReq->options);
×
1134
}
×
1135

1136
int32_t tSerializeSMUpdateXnodeAgentReq(void *buf, int32_t bufLen, SMUpdateXnodeAgentReq *pReq) {
×
1137
  SEncoder encoder = {0};
×
1138
  int32_t  code = 0;
×
1139
  int32_t  lino = 0;
×
1140
  int32_t  tlen = 0;
×
1141
  tEncoderInit(&encoder, buf, bufLen);
×
1142

1143
  TAOS_CHECK_EXIT(tStartEncode(&encoder));
×
1144
  ENCODESQL();
×
1145
  TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->id));
×
1146
  TAOS_CHECK_EXIT(xEncodeCowStr(&encoder, &pReq->name));
×
1147
  TAOS_CHECK_EXIT(xSerializeTaskOptions(&encoder, &pReq->options));
×
1148
  tEndEncode(&encoder);
×
1149

1150
_exit:
×
1151
  if (code) {
×
1152
    tlen = code;
×
1153
  } else {
1154
    tlen = encoder.pos;
×
1155
  }
1156
  tEncoderClear(&encoder);
×
1157
  return tlen;
×
1158
}
1159
int32_t tDeserializeSMUpdateXnodeAgentReq(void *buf, int32_t bufLen, SMUpdateXnodeAgentReq *pReq) {
×
1160
  SDecoder decoder = {0};
×
1161
  int32_t  code = 0;
×
1162
  int32_t  lino = 0;
×
1163

1164
  tDecoderInit(&decoder, buf, bufLen);
×
1165

1166
  TAOS_CHECK_EXIT(tStartDecode(&decoder));
×
1167
  DECODESQL();
×
1168
  TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->id));
×
1169
  TAOS_CHECK_EXIT(xDecodeCowStr(&decoder, &pReq->name, true));
×
1170
  TAOS_CHECK_EXIT(xDeserializeTaskOptions(&decoder, &pReq->options));
×
1171

1172
  tEndDecode(&decoder);
×
1173
_exit:
×
1174
  tDecoderClear(&decoder);
×
1175
  return code;
×
1176
}
1177
void tFreeSMUpdateXnodeAgentReq(SMUpdateXnodeAgentReq *pReq) {
×
1178
  FREESQL();
×
1179
  xFreeCowStr(&pReq->name);
×
1180
  xFreeTaskOptions(&pReq->options);
×
1181
}
×
1182

1183
int32_t tSerializeSMDropXnodeAgentReq(void *buf, int32_t bufLen, SMDropXnodeAgentReq *pReq) {
×
1184
  return tSerializeSMDropXnodeTaskReq(buf, bufLen, (SMDropXnodeTaskReq *)pReq);
×
1185
}
1186
int32_t tDeserializeSMDropXnodeAgentReq(void *buf, int32_t bufLen, SMDropXnodeAgentReq *pReq) {
×
1187
  return tDeserializeSMDropXnodeTaskReq(buf, bufLen, (SMDropXnodeTaskReq *)pReq);
×
1188
}
1189
void tFreeSMDropXnodeAgentReq(SMDropXnodeAgentReq *pReq) { tFreeSMDropXnodeTaskReq((SMDropXnodeTaskReq *)pReq); }
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc